1、创建deployment
[root@master ~]# cat nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
selector:
matchLabels:
run: my-nginx
replicas: 2
template:
metadata:
labels:
run: my-nginx
spec:
containers:
- name: my-nginx
image: nginx
ports:
- containerPort: 80
kubectl create -f nginx-deployment.yaml
2、创建service
[root@master ~]# cat nginx-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: my-nginx
labels:
name: my-nginx
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
targetPort: 80
name: http
nodePort: 30088
selector:
run: my-nginx
kubectl create -f nginx-svc.yaml
3、查看pod和svc
[root@master ~]# kubectl get po -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
busybox1 4/4 Running 0 32d 10.244.1.14 node1 <none> <none>
my-nginx-75897978cd-p6p79 1/1 Running 0 2d2h 10.244.1.25 node1 <none> <none>
my-nginx-75897978cd-z67ch 1/1 Running 0 2d2h 10.244.0.9 master <none> <none>
mypod 1/1 Running 0 39d 10.244.1.10 node1 <none> <none>
test-pod 1/2 CrashLoopBackOff 571 2d1h 10.244.1.30 node1 <none> <none>
volume-pod 2/2 Running 0 25h 10.244.1.31 node1 <none> <none>
[root@master ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.1.0.1 <none> 443/TCP 42d
my-nginx NodePort 10.1.35.73 <none> 80:30088/TCP 6m2s
4、主机ip是10.0.0.4,验证下能否访问,修改了一台nginx的首页
[root@master ~]# curl 10.0.0.4:30088
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@master ~]# curl 10.0.0.4:30088
hello