说明
在 k8s 集群中部署 nginx 服务,测试下集群是否在正常工作
master 服务器
在 master 服务器执行下面操作
部署 nginx
kubectl create deployment nginx --image=nginx:1.14-alpine
参数解释: --image=nginx:1.14-alpine 使用 nginx 1.14 版本
暴露80端口
kubectl expose deployment nginx --port=80 --type=NodePort
参数解释:
--port=80:暴露80端口--type=NodePort:让集群之外的程序可以访问该端口
查看服务状态
kubectl get pods,svc
提示:上面命令也可以分开执行,如:kubectl get pods 、kubectl get svc
参数解释: svc 表示 service,写 service 也行
执行结果:
# 下面显示的是 pod 信息,nginx在容器中,容器在pod中
NAME READY STATUS RESTARTS AGE
pod/nginx-6867cdf567-vn94v 1/1 Running 0 3m31s
# 下面显示的是 service 信息,对外提供服务的
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 7h15m
service/nginx NodePort 10.98.80.224 <none> 80:30683/TCP 38s
解释:外部程序通过 nginx service的 30683 端口(内部自动转换为 80 端口),可以访问到 nginx 服务
浏览器访问
通过 http://master地址 或 node1地址 或 node2地址:30683/ 即可访问到服务,如下:
通过 master 地址访问:
http://192.168.58.101:30683/
通过 node1 地址访问:
http://192.168.58.102:30683/
通过 node2 地址访问:
http://192.168.58.103:30683/