1. 程式人生 > >kubernetes(k8s)第五部分之K8s部署nginx

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>