一、原理图
二、通过deployment部署双副本nginx,两个Pod
[root@172-16-121-211 ~]# cat nginx-delpayment01.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment01
labels:
app: web-nginx
spec:
replicas: 2
selector:
matchLabels:
app: web-nginx #设置selector的matchlabels
template:
metadata:
labels:
app: web-nginx #设置标签为web-nginx
spec:
containers:
- name: nginx18
image: nginx:1.8
ports:
- containerPort: 80 #暴露80端口
三、部署service
[root@172-16-121-211 ~]# cat webnginx-service02.yml
kind: Service. # 资源的类型
apiVersion: v1 # API的版本号
# 元数据信息
metadata:
# 资源的名称
name: web-nginx02
spec:
#指定service的相关配置
type: NodePort #映射端口到物理机上
ports:
- port: 8080 #设置service的访问端口
targetPort: 80 #指定后端的pod服务端口
nodePort: 30000 #映射到物理机的服务端口
selector:
app: web-nginx
四、检查本机端口监听
[root@172-16-121-211 ~]# netstat -tlnp | grep 30000
tcp 0 0 0.0.0.0:30000 0.0.0.0:* LISTEN 17041/kube-proxy
五、浏览器访问本机的30000端口