kubernetes(k8s)第五部分之K8s部署nginx
【1】建立nginx-rc.yaml檔案
[[email protected] ~]# cat nginx-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-controller
spec:
replicas: 2
selector:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: registry:5000/nginx
imagePullPolicy: Never
ports:
- containerPort: 80
【2】建立nginx-service.yaml檔案
[[email protected] ~]# cat nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service-nodeport
spec:
ports:
- port: 8000
targetPort: 80
protocol: TCP
type: NodePort
selector:
name: nginx
【3】建立pod和service
注:所有節點都要有registry:5000/nginx映象
[[email protected] ~]# kubectl create -f nginx-rc.yaml
[[email protected] ~]# kubectl create -f nginx-service.yaml
【4】檢視pod
[[email protected] ~]# kubectl get po
[[email protected] ~]# kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-controller-pbkm6 1/1 Running 0 56s
nginx-controller-zcvdk 1/1 Running 0 56s
【5】檢視service
[[email protected] ~]# kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.254.0.1 <none> 443/TCP 1h
nginx-service-nodeport 10.254.224.123 <nodes> 8000:30473/TCP 1m
【6】檢視service詳細資訊
[[email protected] ~]# kubectl describe svc nginx-service-nodeport
Name: nginx-service-nodeport
Namespace: default
Labels: <none>
Selector: name=nginx
Type: NodePort
IP: 10.254.224.123
Port: <unset> 8000/TCP
NodePort: <unset> 30473/TCP
Endpoints: 10.0.25.2:80,10.0.56.2:80
Session Affinity: None
No events.
【7】從上面的描述可以看出在node節點訪問30473即可訪問nginx
[[email protected] ~]# curl 172.25.37.12:30473
<!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>