Kubernetes 部署 Nginx 实现外部访问
1. 准备 k8s 环境
[root@master yaml]# kubectl get nodes ##两个节点均为Ready状态 NAME STATUS ROLES AGE VERSION master Ready master 3d8h v1.18.1 node Ready <none> 3d8h v1.18.1
2. 检查主机是否存在 Nginx 镜像
[root@master cicd]# docker images |grep nginx nginx latest 992e3b7be046...
3. 编写 pod 部署模板 nginx-pod.yaml
[root@master yaml]# cat nginx-pod.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod ##pod名称 labels: app: nginx ###写上这个pod的标签,方便svc连接 spec: containers: - name: nginx-pod ##pod容器名称 image: nginx:latest ###镜像 imagePullPolicy: IfNotPresent ###镜像拉取策略 ports: - containerPort: 80 ###容器端口
4. 编写 service 部署模板文件 nginx-svc.yaml
[root@master yaml]# cat nginx-svc.yaml apiVersion: v1 kind: Service metadata: name: nginx-svc spec: selector: app: nginx ###关联容器标签 ports: - port: 80 ###容器端口 nodePort: 30002 ###nodeport映射为30002端口,便于外部主机访问 type: NodePort ###svc类型为nodeport
5. kubectl 执行模板文件
[root@master yaml]# kubectl apply -f nginx-pod.yaml pod/nginx-pod created [root@master yaml]# kubectl apply -f nginx-svc.yaml service/nginx-svc created [root@master yaml]# kubectl get pod NAME READY STATUS RESTARTS AGE mall 5/5 Running 0 8h nginx-pod 1/1 Running 0 90s [root@master yaml]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3d8h nginx-svc NodePort 10.111.24.115 <none> 80:30002/TCP 23s
6. 浏览器访问 ip:30002
在测试部署 k8s 环境后,测试创建容器环境,执行创建命令后,提示 deployment 创建成功,但是在查看 pod 时,提示没有 pod。[root@k8s1-1 kubernetes]# k ...