1. 程式人生 > 其它 >|NO.Z.00164|——————————|^^ 部署 ^^|——|KuberNetes&服務釋出.V15|-------------------------------------------------------|ingress.v03|ingress部署.V01|擴容|縮容|

|NO.Z.00164|——————————|^^ 部署 ^^|——|KuberNetes&服務釋出.V15|-------------------------------------------------------|ingress.v03|ingress部署.V01|擴容|縮容|



[CloudNative:KuberNetes&服務釋出.V15]                                                               [Applications.KuberNetes] [|DevOps|k8s|服務釋出|什麼是Ingress|使用helm安裝ingress|Ingress簡單使用|Ingress多級域名使用|]








一、ingress擴容縮容節點
### --- ingress擴容節點

~~~     將ingress controller部署至Node節點(ingress controller不能部署在master節點,
~~~     需要安裝視訊中的步驟將ingress controller部署至Node節點,
~~~     生產環境最少三個ingress controller,並且最好是獨立的節點)
~~~     DaemonSet 會一直監聽這個節點的狀態,若是發現有一個節點符合了這個配置規則,
~~~     它就會把這個pod部署在這個節點上,若是已經有了這個節點, 
~~~     比如master03,若是沒有這個label的話,它就會把之前的刪除掉,重新建立。       
~~~     擴節點,比如部署在k8s-node01節點
[root@k8s-master01 ingress-nginx]# kubectl label node k8s-node01 ingress=true                   //把node01打了一個標籤,ingress controller就會在node01上部署一個:
node/k8s-node01 labeled
### --- 檢視擴容後ingress部署節點
~~~     擴容之後在k8s叢集外部還有LSB需要把後端ingress地址給加上(擴容的地址)
~~~     可以看到node01下的Ingress已經啟動了。          <none>

[root@k8s-master01 ingress-nginx]# kubectl get po -n ingress-nginx -owide
NAME                             READY   STATUS    RESTARTS   AGE     IP             NODE           NOMINATED NODE   READINESS GATES
ingress-nginx-controller-cxtgg   1/1     Running   0          8m38s   192.168.1.13   k8s-master03   <none>           <none>
ingress-nginx-controller-df8xn   0/1     Running   0          69s     192.168.1.14   k8s-node01     <none>      
### --- ingress縮容節點

~~~     縮節點 剔除k8s-master03節點的ingress controller   
~~~     把這個標籤給刪除掉,刪掉之後這個節點的pod就會被刪除掉。   
~~~     它就不符合noteselect了,就會把之前的刪除掉。
~~~     刪掉的順序是:需要現在k8s之外的LBS上把需要下掉的比如master03的IP地址+埠號給剔除掉,
~~~     然後在執行,不然可能出現服務宕機或者服務不響應的情況。
[root@k8s-master01 ingress-nginx]# kubectl label node k8s-master03 ingress- 
node/k8s-master03 labeled 
### --- 檢視ingress縮容後節點數量

[root@k8s-master01 ingress-nginx]# kubectl get po -n ingress-nginx -owide
NAME                             READY   STATUS    RESTARTS   AGE     IP             NODE         NOMINATED NODE   READINESS GATES
ingress-nginx-controller-df8xn   1/1     Running   0          6m55s   192.168.1.14   k8s-node01   <none>           <none>    
二、ingress部署宿主機檢視
### --- 登入k8s-node01節點操作
~~~     因為我們使用的是hostNetwork,所以它會在宿主機上直接啟用了一個nginx程序,

[root@k8s-node01 ~]# netstat -lntp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      53541/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      53541/nginx: master 
### --- 因為Ingress內部是nginx加上openresty實現的,
~~~     它是直接監聽到宿主機的埠,直接在宿主機起了一個程序,去監聽它,
~~~     這個就是hostname使用宿主機的網路,不用再經過代理。

[root@k8s-node01 ~]# ps -aux | grep nginx
root      18289  0.0  0.2 112824  2276 pts/0    S+   18:14   0:00 grep --color=auto nginx
101       53441  0.0  0.0    204     4 ?        Ss   00:18   0:00 /usr/bin/dumb-init -- /nginx-ingress-controller --publish-service=ingress-nginx/ingress-nginx-controller --election-id=ingress-controller-leader --ingress-class=nginx --configmap=ingress-nginx/ingress-nginx-controller --validating-webhook=:8443 --validating-webhook-certificate=/usr/local/certificates/cert --validating-webhook-key=/usr/local/certificates/key
101       53466  0.2  2.5 743328 24904 ?        Ssl  00:18   2:22 /nginx-ingress-controller --publish-service=ingress-nginx/ingress-nginx-controller --election-id=ingress-controller-leader --ingress-class=nginx --configmap=ingress-nginx/ingress-nginx-controller --validating-webhook=:8443 --validating-webhook-certificate=/usr/local/certificates/cert --validating-webhook-key=/usr/local/certificates/key 
### --- 檢視ingress所對應的埠號

[root@k8s-node01 ~]# netstat -lntp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9099          0.0.0.0:*               LISTEN      79133/calico-node   
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      53541/nginx: master 








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)