[root@master ~]# cat web01.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web1
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: web1
template:
metadata:
labels:
app: web1
spec:
containers:
- name: web1
image: jiejiehao/httpd:v1
---
apiVersion: v1
kind: Service
metadata:
name: web1
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
nodePort: 30000
selector:
app: web1
type: NodePort
[root@master ~]# cat web02.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web2
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: web2
template:
metadata:
labels:
app: web2
spec:
containers:
- name: httpd
image: jiejiehao/httpd:v2
---
apiVersion: v1
kind: Service
metadata:
name: web2
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
nodePort: 31000
selector:
app: web2
type: NodePort
[root@master ~]# kubectl apply -f web01.yaml
deployment.apps/web1 unchanged
service/web1 unchanged
[root@master ~]# kubectl apply -f web02.yaml
deployment.apps/web2 unchanged
service/web2 unchanged
[root@master ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 443/TCP 9d
web1 NodePort 10.105.63.49 80:30000/TCP 35m
web2 NodePort 10.99.141.3 80:31000/TCP 60m
[root@master ~]# kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master Ready control-plane,master 9d v1.20.0 192.168.47.115 Red Hat Enterprise Linux 8.2 (Ootpa) 4.18.0-193.el8.x86_64 docker://20.10.12
node1 Ready 9d v1.20.0 192.168.47.120 Red Hat Enterprise Linux 8.2 (Ootpa) 4.18.0-193.el8.x86_64 docker://20.10.12
node2 Ready 9d v1.20.0 192.168.47.121 Red Hat Enterprise Linux 8.2 (Ootpa) 4.18.0-193.el8.x86_64 docker://20.10.12
[root@master ~]# curl 192.168.47.120:30000
test page on v1
[root@master ~]# curl 192.168.47.121:31000
test page on v2
yum -y install nginx
[root@docker ~]# curl 192.168.47.120:30000
test page on v1
[root@docker ~]# curl 192.168.47.121:31000
test page on v2
systemctl start nginx
vim /etc/nginx/nginx.conf
upstream webservers {
server 192.168.47.120:30000;
server 192.168.47.121:31000;
}
server{
listen 80;
server_name localhost;
location / {
proxy_pass http://webservers;
}
systemctl restart nginx