精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何部署一個Kubernetes集群

云計算
在本篇文章中我將以在Mac筆記本中安裝兩臺Ubantu系統的方式,演示如何部署一套具備一個控制節點(Master)和一個計算節點(Worker)的Kubernetes學習集群。

[[339164]]

本文轉載自微信公眾號「無敵碼農」,作者無敵碼農 。轉載本文請聯系無敵碼農公眾號。

原文鏈接:https://mp.weixin.qq.com/s/MFSvDWtue4YruFV3jyLQVw

在本篇文章中我將以在Mac筆記本中安裝兩臺Ubantu系統的方式,演示如何部署一套具備一個控制節點(Master)和一個計算節點(Worker)的Kubernetes學習集群。

1、系統環境準備

 

要安裝部署Kubernetes集群,首先需要準備機器,最直接的辦法可以到公有云(如阿里云等)申請幾臺虛擬機。而如果條件允許,拿幾臺本地物理服務器來組建集群自然是最好不過了。但是這些機器需要滿足以下幾個條件:

  • 要求64位Linux操作系統,且內核版本要求3.10及以上,能滿足安裝Docker項目所需的要求;
  • 機器之間要保持網絡互通,這是未來容器之間網絡互通的前提條件;
  • 要有外網訪問權限,因為部署的過程中需要拉取相應的鏡像,要求能夠訪問到gcr.io、quay.io這兩個dockerregistry,因為有小部分鏡像需要從這里拉取;
  • 單機可用資源建議2核CPU、8G內存或以上,如果小一點也可以但是能調度的Pod數量就比較有限了;
  • 磁盤空間要求在30GB以上,主要用于存儲Docker鏡像及相關日志文件;

在本次實驗中由于條件有限,我是在Mac筆記本上通過虛擬軟件準備了兩臺虛擬機,其具體配置如下:

  • 2核CPU、2GB內存,30GB的磁盤空間;
  • Unbantu 20.04 LTS的Sever版本,其Linux內核為5.4.0;
  • 內網互通,外網訪問權限不受控制;

2、Kubeadm一鍵部署工具簡介

 

作為典型的分布式系統,Kubernetes的部署一直是困擾初學者進入Kubernetes世界的一大障礙。在發布早期Kubernetes的部署主要依賴于社區維護的各種腳本,但這其中會涉及二進制編譯、配置文件以及kube-apiserver授權配置文件等諸多運維工作。目前各大云服務廠商常用的Kubernetes部署方式是使用SaltStack、Ansible等運維工具自動化地執行這些繁瑣的步驟,但即使這樣,這個部署的過程對于初學者來說依然是非常繁瑣的。

正是基于這樣的痛點,在志愿者的推動下Kubernetes社區終于發起了kubeadm這一獨立的一鍵部署工具,使用kubeadm我們可以通過幾條簡單的指令來快速地部署一個kubernetes集群。后面的內容,就將具體演示如何使用kubeadm來部署一個Kubernetes集群。

3、安裝Kubeadm及Docker環境

 

在準備的兩臺虛擬機中,分別安裝Kubeadm部署工具及Docker環境。步驟如下:

1)、編輯操作系統安裝源配置文件,添加kubernetes鏡像源,命令如下:

  1. #添加Kubernetes官方鏡像源apt-key 
  2. root@kubenetesnode01:~#curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - 
  3. #添加Kubernetes官方鏡像源地址 
  4. root@kubernetesnode01:~# vim /etc/apt/sources.list 
  5. #add kubernetes source 
  6. deb http://apt.kubernetes.io/ kubernetes-xenial main 

上述操作添加的是kubernetes的官方鏡像源,如果apt.kubernetes.io因為網絡原因訪問不到,也可以換成國內Ubantu鏡像源,如阿里云鏡像源地址:

  1. #添加阿里云Kubernetes鏡像源apt-key 
  2. root@kubenetesnode01:~# curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
  3. #添加阿里云Kubernetes鏡像源地址 
  4. root@kubernetesnode01:~# vim /etc/apt/sources.list 
  5. deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main 

2)、鏡像源添加后更新apt資源列表,命令如下:

  1. root@kubernetesnode01:~# apt-get update 
  2. Hit:1 http://cn.archive.ubuntu.com/ubuntu focal InRelease 
  3. Hit:2 http://cn.archive.ubuntu.com/ubuntu focal-updates InRelease 
  4. Hit:3 http://cn.archive.ubuntu.com/ubuntu focal-backports InRelease 
  5. Hit:4 http://cn.archive.ubuntu.com/ubuntu focal-security InRelease 
  6. Get:5 https://packages.cloud.google.com/apt kubernetes-xenial InRelease [8,993 B] 
  7. Get:6 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 Packages [37.7 kB] 
  8. Fetched 46.7 kB in 7s (6,586 B/s) 
  9. Reading package lists... Done 

3)、完成上述2步后就可以通過apt-get命令安裝kubeadm了,如下:

  1. root@kubernetesnode01:~# apt-get install -y docker.io kubeadm 
  2. Reading package lists... Done 
  3. Building dependency tree        
  4. Reading state information... Done 
  5. The following additional packages will be installed: 
  6. bridge-utils cgroupfs-mount conntrack containerd cri-tools dns-root-data dnsmasq-base ebtables kubectl kubelet kubernetes-cni libidn11 pigz runc socat ubuntu-fan 
  7. .... 

這里直接使用Ubantu的docker.io安裝源。在上述安裝kubeadm的過程中,kubeadm和kubelet、kubectl、kubernetes-cni這幾個kubernetes核心組件的二進制文件都會被自動安裝好。

4)、Docker服務啟動及限制修改

完成上述步驟側操作后,系統中會自動安裝Docker引擎,但是在具體運行kubernetes部署之前需要對Docker的配置信息進行一些調整。

首先,編輯系統/etc/default/grub文件,在配置項GRUB_CMDLINE_LINUX中添加如下參數:

  1. GRUB_CMDLINE_LINUX=" cgroup_enable=memory swapaccount=1" 

完成編輯后保存執行如下命令,并重啟服務器,命令如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# update-grub 
  2. root@kubernetesnode01:/opt/kubernetes-config# reboot 

上述修改主要解決的是可能出現的“docker警告WARNING: No swap limit support”問題。

其次,編輯創建/etc/docker/daemon.json文件,添加如下內容:

  1.   "exec-opts": ["native.cgroupdriver=systemd"

完成保存后執行重啟Docker命令,如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# systemctl restart docker 

此時可以查看Docker的Cgroup信息,如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# docker info | grep Cgroup 
  2.  Cgroup Driver: systemd 

上述修改主要解決的是“Dockercgroup driver. The recommended driver is "systemd"”的問題。需要強調的是以上修改只是作者在具體安裝操作是遇到的具體問題的解決整理,如在實踐過程中遇到其他問題還需要自行查閱相關資料!

最后,需要注意由于kubernetes禁用虛擬內存,所以要先關閉掉swap否則就會在kubeadm初始化kubernetes的時候報錯,具體如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# swapoff -a 

該命令只是臨時禁用swap,如要保證系統重啟后仍然生效則需要“edit /etc/fstab”文件,并注釋掉swap那一行。

完成以上操作后啟動系統Docker服務,命令如下:

  1. root@kubenetesnode02:~# systemctl enable docker.service 

4、部署Kubernetes的Master節點

 

在Kubernetes中Master節點是集群的控制節點,它是由三個緊密協作的獨立組件組合而成,分別是負責API服務的kube-apiserver、負責調度的kube-scheduler以及負責容器編排的kube-controller-manager,其中整個集群的持久化數據由kube-apiserver處理后保存在Etcd中。

要部署Master節點可以直接通過kubeadm進行一鍵部署,但這里我們希望能夠部署一個相對完整的Kubernetes集群,可以通過配置文件來開啟一些實驗性的功能。具體在系統中新建/opt/kubernetes-config/目錄,并創建一個給kubeadm用的YAML文件(kubeadm.yaml),具體內容如下:

  1. apiVersion: kubeadm.k8s.io/v1beta2 
  2. kind: ClusterConfiguration 
  3. controllerManager: 
  4.  extraArgs: 
  5.      horizontal-pod-autoscaler-use-rest-clients: "true" 
  6.      horizontal-pod-autoscaler-sync-period: "10s" 
  7.      node-monitor-grace-period: "10s" 
  8. apiServer: 
  9.   extraArgs: 
  10.      runtime-config: "api/all=true" 
  11. kubernetesVersion: "v1.18.1" 

在上述yaml配置文件中“horizontal-pod-autoscaler-use-rest-clients: "true"”這個配置,表示將來部署的kuber-controller-manager能夠使用自定義資源(CustomMetrics)進行自動水平擴展,感興趣的讀者可以自行查閱相關資料!而“v1.18.1”就是要kubeadm幫我們部署的Kubernetes版本號。

需要注意的是,如果執行過程中由于國內網絡限制問題導致無法下載相應的Docker鏡像,可以根據報錯信息在國內網站(如阿里云)上找到相關鏡像,然后再將這些鏡像重新tag之后再進行安裝。具體如下:

  1. #從阿里云Docker倉庫拉取Kubernetes組件鏡像 
  2. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.18.1 
  3. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.18.1 
  4. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.18.1 
  5. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.18.1 
  6. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.4.3-0 
  7. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 
  8. docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 

下載完成后再將這些Docker鏡像重新tag下,具體命令如下:

  1. #重新tag鏡像 
  2. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2 
  3. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7 
  4. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0 
  5. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.18.1 k8s.gcr.io/kube-scheduler:v1.18.1 
  6. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.18.1 k8s.gcr.io/kube-controller-manager:v1.18.1 
  7. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.18.1 k8s.gcr.io/kube-apiserver:v1.18.1 
  8. docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.18.1 k8s.gcr.io/kube-proxy:v1.18.1 

此時通過Docker命令就可以查看到這些Docker鏡像信息了,命令如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# docker images 
  2. REPOSITORY                                                                          TAG                 IMAGE ID            CREATED             SIZE 
  3. k8s.gcr.io/kube-proxy                                                               v1.18.1             4e68534e24f6        2 months ago        117MB 
  4. registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64                v1.18.1             4e68534e24f6        2 months ago        117MB 
  5. k8s.gcr.io/kube-controller-manager                                                  v1.18.1             d1ccdd18e6ed        2 months ago        162MB 
  6. registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64   v1.18.1             d1ccdd18e6ed        2 months ago        162MB 
  7. k8s.gcr.io/kube-apiserver                                                           v1.18.1             a595af0107f9        2 months ago        173MB 
  8. registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64            v1.18.1             a595af0107f9        2 months ago        173MB 
  9. k8s.gcr.io/kube-scheduler                                                           v1.18.1             6c9320041a7b        2 months ago        95.3MB 
  10. registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64            v1.18.1             6c9320041a7b        2 months ago        95.3MB 
  11. k8s.gcr.io/pause                                                                    3.2                 80d28bedfe5d        4 months ago        683kB 
  12. registry.cn-hangzhou.aliyuncs.com/google_containers/pause                           3.2                 80d28bedfe5d        4 months ago        683kB 
  13. k8s.gcr.io/coredns                                                                  1.6.7               67da37a9a360        4 months ago        43.8MB 
  14. registry.cn-hangzhou.aliyuncs.com/google_containers/coredns                         1.6.7               67da37a9a360        4 months ago        43.8MB 
  15. k8s.gcr.io/etcd                                                                     3.4.3-0             303ce5db0e90        8 months ago        288MB 
  16. registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64    

解決鏡像拉取問題后再次執行kubeadm部署命令就可以完成Kubernetes Master控制節點的部署了,具體命令及執行結果如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# kubeadm init --config kubeadm.yaml --v=5 
  2. ... 
  3. Your Kubernetes control-plane has initialized successfully! 
  4.  
  5. To start using your cluster, you need to run the following as a regular user
  6.  
  7.   mkdir -p $HOME/.kube 
  8.   sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 
  9.   sudo chown $(id -u):$(id -g) $HOME/.kube/config 
  10.  
  11. You should now deploy a pod network to the cluster. 
  12. Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at
  13.   https://kubernetes.io/docs/concepts/cluster-administration/addons/ 
  14.  
  15. Then you can join any number of worker nodes by running the following on each as root: 
  16.  
  17. kubeadm join 10.211.55.6:6443 --token jfulwi.so2rj5lukgsej2o6 \ 
  18.     --discovery-token-ca-cert-hash sha256:d895d512f0df6cb7f010204193a9b240e8a394606090608daee11b988fc7fea6 

從上面部署執行結果中可以看到,部署成功后kubeadm會生成如下指令:

  1. kubeadm join 10.211.55.6:6443 --token d35pz0.f50zacvbdarqn2vi \ 
  2.     --discovery-token-ca-cert-hash sha256:58958a3bf4ccf4a4c19b0d1e934e77bf5b5561988c2274364aaadc9b1747141d 

這個kubeadm join命令就是用來給該Master節點添加更多Worker(工作節點)的命令,后面具體部署Worker節點的時候將會使用到它。此外,kubeadm還會提示我們第一次使用Kubernetes集群所需要配置的命令:

  1. mkdir -p $HOME/.kube 
  2. sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 
  3. sudo chown $(id -u):$(id -g) $HOME/.kube/config 

而需要這些配置命令的原因在于Kubernetes集群默認是需要加密方式訪問的,所以這幾條命令就是將剛才部署生成的Kubernetes集群的安全配置文件保存到當前用戶的.kube目錄,之后kubectl會默認使用該目錄下的授權信息訪問Kubernetes集群。如果不這么做的化,那么每次通過集群就都需要設置“export KUBE CONFIG 環境變量”來告訴kubectl這個安全文件的位置。

執行完上述命令后,現在我們就可以使用kubectlget命令來查看當前Kubernetes集群節點的狀態了,執行效果如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# kubectl get nodes 
  2. NAME               STATUS     ROLES    AGE   VERSION 
  3. kubernetesnode01   NotReady   master   35m   v1.18.4 

在以上命令輸出的結果中可以看到Master節點的狀態為“NotReady”,為了查找具體原因可以通過“kuberctl describe”命令來查看下該節點(Node)對象的詳細信息,命令如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# kubectl describe node kubernetesnode01 

該命令可以非常詳細地獲取節點對象的狀態、事件等詳情,這種方式也是調試Kubernetes集群時最重要的排查手段。根據顯示的如下信息:

  1. ... 
  2. Conditions 
  3. ... 
  4. Ready False... KubeletNotReady runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized 
  5. ... 

可以看到節點處于“NodeNotReady”的原因在于尚未部署任何網絡插件,為了進一步驗證著一點還可以通過kubectl檢查這個節點上各個Kubernetes系統Pod的狀態,命令及執行效果如下:

  1. root@kubernetesnode01:/opt/kubernetes-config# kubectl get pods -n kube-system 
  2. NAME                                       READY   STATUS    RESTARTS   AGE 
  3. coredns-66bff467f8-l4wt6                   0/1     Pending   0          64m 
  4. coredns-66bff467f8-rcqx6                   0/1     Pending   0          64m 
  5. etcd-kubernetesnode01                      1/1     Running   0          64m 
  6. kube-apiserver-kubernetesnode01            1/1     Running   0          64m 
  7. kube-controller-manager-kubernetesnode01   1/1     Running   0          64m 
  8. kube-proxy-wjct7                           1/1     Running   0          64m 
  9. kube-scheduler-kubernetesnode01            1/1     Running   0          64m 

命令中“kube-system”表示的是Kubernetes項目預留的系統Pod空間(Namespace),需要注意它并不是Linux Namespace,而是Kuebernetes劃分的不同工作空間單位?;氐矫钶敵鼋Y果,可以看到coredns等依賴于網絡的Pod都處于Pending(調度失敗)的狀態,這樣說明了該Master節點的網絡尚未部署就緒。

5、部署Kubernetes網絡插件

 

前面部署Master節點中由于沒有部署網絡插件,所以節點狀態顯示“NodeNotReady”狀態。接下來的內容我們就來具體部署下網絡插件。在Kubernetes“一切皆容器”的設計理念指導下,網絡插件也會以獨立Pod的方式運行在系統中,所以部署起來也很簡單只需要執行“kubectl apply”指令即可,例如以Weave網絡插件為例:

  1. root@kubernetesnode01:/opt/kubernetes-config# kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n'
  2. serviceaccount/weave-net created 
  3. clusterrole.rbac.authorization.k8s.io/weave-net created 
  4. clusterrolebinding.rbac.authorization.k8s.io/weave-net created 
  5. role.rbac.authorization.k8s.io/weave-net created 
  6. rolebinding.rbac.authorization.k8s.io/weave-net created 
  7. daemonset.apps/weave-net created 

部署完成后通過“kubectl get”命令重新檢查Pod的狀態:

  1. root@kubernetesnode01:/opt/kubernetes-config# kubectl get pods -n kube-system 
  2. NAME                                       READY   STATUS    RESTARTS   AGE 
  3. coredns-66bff467f8-l4wt6                   1/1     Running   0          116m 
  4. coredns-66bff467f8-rcqx6                   1/1     Running   0          116m 
  5. etcd-kubernetesnode01                      1/1     Running   0          116m 
  6. kube-apiserver-kubernetesnode01            1/1     Running   0          116m 
  7. kube-controller-manager-kubernetesnode01   1/1     Running   0          116m 
  8. kube-proxy-wjct7                           1/1     Running   0          116m 
  9. kube-scheduler-kubernetesnode01            1/1     Running   0          116m 
  10. weave-net-746qj  

可以看到,此時所有的系統Pod都成功啟動了,而剛才部署的Weave網絡插件則在kube-system下面新建了一個名叫“weave-net-746qj”的Pod,而這個Pod就是容器網絡插件在每個節點上的控制組件。

到這里,Kubernetes的Master節點就部署完成了,如果你只需要一個單節點的Kubernetes,那么現在就可以使用了。但是在默認情況下,Kubernetes的Master節點是不能運行用戶Pod的,需要通過額外的操作進行調整,感興趣的朋友可以自己查閱下其他資料。

6、部署Kubernetes的Worker節點

 

為了構建一個完整的Kubernetes集群,這里還需要繼續介紹如何部署Worker節點。實際上Kubernetes的Worker節點和Master節點幾乎是相同的,它們都運行著一個kubelet組件,主要的區別在于“kubeadm init”的過程中,kubelet啟動后,Master節點還會自動啟動kube-apiserver、kube-scheduler及kube-controller-manager這三個系統Pod。

在具體部署之前與Master節點一樣,也需要在所有Worker節點上執行前面“安裝kubeadm及Decker環境”小節中的所有步驟。之后在Worker節點執行部署Master節點時生成的“kubeadm join”指令即可,具體如下:

  1. root@kubenetesnode02:~# kubeadm join 10.211.55.6:6443 --token jfulwi.so2rj5lukgsej2o6     --discovery-token-ca-cert-hash sha256:d895d512f0df6cb7f010204193a9b240e8a394606090608daee11b988fc7fea6 --v=5 
  2.  
  3. ... 
  4. This node has joined the cluster: 
  5. * Certificate signing request was sent to apiserver and a response was received. 
  6. * The Kubelet was informed of the new secure connection details. 
  7.  
  8. Run 'kubectl get nodes' on the control-plane to see this node join the cluster. 

完成集群加入后為了便于在Worker節點執行kubectl相關命令,需要進行如下配置:

  1. #創建配置目錄 
  2. root@kubenetesnode02:~# mkdir -p $HOME/.kube 
  3. #將Master節點中$/HOME/.kube/目錄中的config文件拷貝至Worker節點對應目錄 
  4. root@kubenetesnode02:~# scp root@10.211.55.6:$HOME/.kube/config $HOME/.kube/ 
  5. #權限配置 
  6. root@kubenetesnode02:~# sudo chown $(id -u):$(id -g) $HOME/.kube/config 

之后可以在Worker或Master節點執行節點狀態查看命令“kubectl get nodes”,具體如下:

  1. root@kubernetesnode02:~# kubectl get nodes 
  2. NAME               STATUS     ROLES    AGE   VERSION 
  3. kubenetesnode02    NotReady   <none>   33m   v1.18.4 
  4. kubernetesnode01   Ready      master   29h   v1.18.4 

通過節點狀態顯示此時Work節點還處于NotReady狀態,具體查看節點描述信息如下:

  1. root@kubernetesnode02:~# kubectl describe node kubenetesnode02 
  2. ... 
  3. Conditions: 
  4. ... 
  5. Ready False ... KubeletNotReady runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized 
  6. ... 

根據描述信息,發現Worker節點NotReady的原因也在于網絡插件沒有部署,繼續執行“部署Kubernetes網絡插件”小節中的步驟即可。但是要注意部署網絡插件時會同時部署kube-proxy,其中會涉及從k8s.gcr.io倉庫獲取鏡像的動作,如果無法訪問外網可能會導致網絡部署異常,這里可以參考前面安裝Master節點時的做法,通過國內鏡像倉庫下載后通過tag的方式進行標記,具體如下:

  1. root@kubenetesnode02:~# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.18.1 
  2. root@kubenetesnode02:~# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.18.1 k8s.gcr.io/kube-proxy:v1.18.1 

如若一切正常,則繼續查看節點狀態,命令如下:

  1. root@kubenetesnode02:~# kubectl get node 
  2. NAME               STATUS   ROLES    AGE     VERSION 
  3. kubenetesnode02    Ready    <none>   7h52m   v1.18.4 
  4. kubernetesnode01   Ready    master   37h     v1.18.4 

可以看到此時Worker節點的狀態已經變成“Ready”,不過細心的讀者可能會發現Worker節點的ROLES并不像Master節點那樣顯示“master”而是顯示了,這是因為新安裝的Kubernetes環境Node節點有時候會丟失ROLES信息,遇到這種情況可以手工進行添加,具體命令如下:

  1. root@kubenetesnode02:~# kubectl label node kubenetesnode02 node-role.kubernetes.io/worker=worker 

再次運行節點狀態命令就能看到正常的顯示了,命令效果如下:

  1. root@kubenetesnode02:~# kubectl get node 
  2. NAME               STATUS   ROLES    AGE   VERSION 
  3. kubenetesnode02    Ready    worker   8h    v1.18.4 
  4. kubernetesnode01   Ready    master   37h   v1.18.4 

到這里就部署完成了具有一個Master節點和一個Worker節點的Kubernetes集群了,作為實驗環境它已經具備了基本的Kubernetes集群功能!

7、部署Dashboard可視化插件

 

在Kubernetes社區中,有一個很受歡迎的Dashboard項目,它可以給用戶一個可視化的Web界面來查看當前集群中的各種信息。該插件也是以容器化方式進行部署,操作也非常簡單,具體可在Master、Worker節點或其他能夠安全訪問Kubernetes集群的Node上進行部署,命令如下:

  1. root@kubenetesnode02:~# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml 

部署完成后就可以查看Dashboard對應的Pod運行狀態,執行效果如下:

  1. root@kubenetesnode02:~# kubectl get pods -n kubernetes-dashboard 
  2. NAME                                         READY   STATUS    RESTARTS   AGE 
  3. dashboard-metrics-scraper-6b4884c9d5-xfb8b   1/1     Running   0          12h 
  4. kubernetes-dashboard-7f99b75bf4-9lxk8        1/1     Running   0          12h 

除此之外還可以查看Dashboard的服務(Service)信息,命令如下:

  1. root@kubenetesnode02:~# kubectl get svc -n kubernetes-dashboard 
  2. NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE 
  3. dashboard-metrics-scraper   ClusterIP   10.97.69.158    <none>        8000/TCP   13h 
  4. kubernetes-dashboard        ClusterIP   10.111.30.214   <none>        443/TCP    13h 

需要注意的是,由于Dashboard是一個Web服務,從安全角度出發Dashboard默認只能通過Proxy的方式在本地訪問。具體方式為在本地機器安裝kubectl管理工具,并將Master節點$HOME/.kube/目錄中的config文件拷貝至本地主機相同目錄,之后運行“kubectl proxy”命令,如下:

  1. qiaodeMacBook-Pro-2:.kube qiaojiang$ kubectl proxy 
  2. Starting to serve on 127.0.0.1:8001 

本地proxy代理啟動后,訪問Kubernetes Dashboard地址,具體如下:

  1. http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 

 

如果訪問正常,就會看到相應的界面!以上就是Kubernetes基本集群的搭建方式,希望能對你學習Kubernetes容器編排技術有所幫助!

 

責任編輯:武曉燕 來源: 無敵碼農
相關推薦

2021-12-02 08:00:00

Kubernetes集群容器

2021-08-10 07:27:42

Elasticsear集群開源

2021-06-15 09:33:44

Kubernetes Prometheus 容器

2021-09-02 05:37:22

Containerd Kubernetes 容器

2020-12-04 18:44:29

KubernetesHTTPS Wordpress

2021-09-02 08:02:50

深度學習Kubernetes集群管理

2021-08-31 10:02:10

KubernetesLinux集群

2019-11-07 14:00:36

MySQL數據庫SQL

2021-12-24 10:59:37

Kubernetes架構代碼

2024-07-22 15:49:07

KubernetesRedis

2019-09-27 16:32:17

虛擬機LinuxDocker

2022-02-17 11:08:00

KubernetesMySQL運維

2020-10-08 14:29:57

Kubernetes容器開發

2021-06-04 06:20:08

工具Kubernetes集群

2021-09-08 10:05:17

服務器架構數據

2022-06-02 14:18:44

kubeadm云原生

2023-12-18 08:23:12

CSI插件Kubernetes

2022-08-21 16:50:36

Kubeadm?Kubernetes

2017-08-08 11:14:47

AzureKubernetes多容器應用程序

2019-10-09 08:00:17

Kubernetes容器云平臺
點贊
收藏

51CTO技術棧公眾號

a在线免费观看| 亚洲爱情岛论坛永久| 欧美精选一区二区三区| 欧美日本一道本在线视频| 在线观看av的网址| 日韩a在线观看| 久久精品国产精品青草| 欧美激情视频播放| 久久香蕉国产线看观看av| 亚洲综合日韩欧美| 国精一区二区三区| 国产情人综合久久777777| 亚洲一区免费网站| 久久久久久在线观看| 中文字幕免费一区二区| 亚洲三级免费看| 深夜视频在线观看| 另类一区二区| 欧美性猛交xxxx乱大交3| 在线日韩av永久免费观看| 亚洲 另类 春色 国产| 精品一区二区国语对白| 国产福利精品视频| 西西44rtwww国产精品| 欧美激情自拍| 久久久国产精品x99av | 激情五月婷婷六月| 中文字幕在线播放| 久久午夜免费电影| 国产精品一区二区你懂得| 亚洲一区 中文字幕| 亚洲在线播放| 欧美黑人一级爽快片淫片高清| 69视频在线观看免费| 卡通动漫精品一区二区三区| 日韩欧美一级特黄在线播放| 国产视频1区2区3区| 一个人看的www视频在线免费观看| 亚洲欧洲三级电影| 亚洲精品成人a8198a| 女人天堂在线| 91蜜桃网址入口| 国产午夜精品在线| 丰满熟妇人妻中文字幕| 国产一区二区三区免费看| 国产精品视频网| www.亚洲激情| 奇米色777欧美一区二区| 欧美自拍大量在线观看| 成年人午夜视频| 99精品国产福利在线观看免费| 色综合天天狠天天透天天伊人| 久久爱一区二区| 久久亚洲影视| 久久精品免费电影| 91麻豆精品成人一区二区| 97精品一区| 精品国偷自产在线视频99| 日本裸体美女视频| 亚洲成人av| 欧美日韩成人网| 国产精品7777| 国产精品久久久久久久久久妞妞 | 久久久久99精品| 黄色成人在线网址| 97视频免费看| 精品国产午夜福利| 日韩vs国产vs欧美| 91精品久久久久久久久久入口| 一本久道久久综合无码中文| 狠狠色综合播放一区二区| 99re视频| 三区在线视频| 中文字幕免费不卡| 国产手机视频在线观看| 欧美hdxxxxx| 精品久久久久久亚洲精品| 国产偷人视频免费| 国产69精品久久| 日韩欧美亚洲另类制服综合在线| 无码av免费精品一区二区三区| 国产日韩三级| 亚洲人成电影在线| 艳妇荡乳欲伦69影片| 激情婷婷久久| 国产成人高潮免费观看精品| 国产精品久久免费| 99久久久免费精品国产一区二区| 日本高清不卡三区| 182tv在线播放| 狠狠躁夜夜躁人人躁婷婷91| 中文字幕网av| 在线播放一区二区精品视频| 亚洲免费一在线| 午夜精品一区二区三级视频| 国产一区91| 91视频8mav| 欧洲一级在线观看| 亚洲精品免费在线| 日本熟妇人妻中出| 在线精品自拍| 色噜噜狠狠狠综合曰曰曰88av| 久久黄色免费网站| 日本亚洲三级在线| 国产九区一区在线| 免费黄色在线| 色综合视频在线观看| 中文字幕无码毛片免费看| 禁果av一区二区三区| 欧美大秀在线观看| 亚洲天堂免费av| 久久人人97超碰com| 热久久最新地址| 国产福利91精品一区二区| 亚洲国产成人久久| 欧美在线视频第一页| 三级久久三级久久| 国产一区二区高清视频| а天堂中文在线官网| 在线视频你懂得一区二区三区| 美女伦理水蜜桃4| 婷婷久久国产对白刺激五月99| 欧美在线视频播放| 黄色aaa毛片| 亚洲精品视频观看| 九九九九九国产| 成人精品视频| 日韩美女主播视频| 丝袜+亚洲+另类+欧美+变态| 亚洲欧洲无码一区二区三区| 黄色在线视频网| 精品国产乱码久久久久久蜜坠欲下| 久久久亚洲国产天美传媒修理工| 国产精品一级二级| 国产精品成人一区二区艾草 | japanese在线播放| 日韩福利影视| 日韩视频―中文字幕| 最好看的日本字幕mv视频大全| 99re这里只有精品首页| 日韩精品在线视频免费观看| 日韩亚洲精品在线观看| 欧美精品一二区| 国产情侣自拍小视频| 国产精品久久久久精k8 | 国产精品白丝喷水在线观看| 日日夜夜免费精品| 污视频在线免费观看一区二区三区| 亚洲一区站长工具| 国产午夜精品久久久| 久久久国产精品成人免费| 99久久国产综合色|国产精品| www.成年人视频| 欧美高清视频看片在线观看| 5566成人精品视频免费| 色久视频在线播放| 欧洲一区二区三区在线| 亚洲图片第一页| 久久99国产精品麻豆| 麻豆md0077饥渴少妇| 蜜桃在线一区| 91国产精品视频在线| 男女污污视频在线观看| 欧美亚洲国产一区在线观看网站| 五月婷六月丁香| 韩国成人在线视频| 日韩精品免费一区| 日韩大片在线免费观看| 国产精品h在线观看| 97电影在线观看| 日韩欧美国产精品一区| 欧美激情亚洲综合| 国产日产精品一区| 久久综合在线观看| 日韩天堂av| 四虎一区二区| 日韩在线观看中文字幕| 91av在线看| √天堂资源地址在线官网| 91麻豆精品国产91久久久更新时间| 久草资源在线视频| 国产亚洲一二三区| 一级黄色免费毛片| 亚洲影院免费| 小说区视频区图片区| 极品一区美女高清| 国产精品夜间视频香蕉| 国产探花视频在线观看| 亚洲天堂网站在线观看视频| 国产精品国产精品国产专区| 午夜伊人狠狠久久| 免费看一级黄色| fc2成人免费人成在线观看播放| 亚洲中文字幕久久精品无码喷水 | 成熟丰满熟妇高潮xxxxx视频| 中文字幕中文字幕精品| 91午夜在线播放| 天堂av在线网| 久久91精品国产| wwwww在线观看免费视频| 日韩一区二区电影在线| 欧美一区二区三区久久久| 亚洲精品国产a| 中文字幕免费在线看线人动作大片| 国产精品香蕉一区二区三区| 韩国中文字幕av| 夜久久久久久| 国产资源第一页| 三上亚洲一区二区| 久久久神马电影| 国产精品99久久免费观看| 国产精品亚发布| 欧美成a人片在线观看久| 欧美精品久久久久久久久| 在线观看麻豆蜜桃| 亚洲另类欧美自拍| 色丁香婷婷综合久久| 日韩一区二区在线观看| 亚洲无码精品在线播放| 色哟哟在线观看一区二区三区| 精品少妇一二三区| 亚洲欧美激情小说另类| xxxxx99| 久久久蜜桃精品| 青青草视频网站| 国产福利一区二区三区视频在线| 天天干天天玩天天操| 久久亚洲不卡| www.国产区| 视频一区中文字幕国产| 777久久久精品一区二区三区 | 欧美一级特黄a| 天堂蜜桃91精品| 欧美黄色免费影院| 亚洲在线黄色| www.浪潮av.com| 亚洲在线电影| 日本在线视频www| 噜噜噜在线观看免费视频日韩 | 忘忧草在线www成人影院| 81精品国产乱码久久久久久| 俺来俺也去www色在线观看| 色与欲影视天天看综合网| 国产一二三区在线观看| 久久影院中文字幕| 影音先锋在线视频| 欧美日韩国产成人高清视频| 一色桃子av在线| 欧美激情一区二区三级高清视频| 影院在线观看全集免费观看| 欧美激情视频一区二区| 丰满大乳少妇在线观看网站| 欧美激情亚洲另类| 国产三级电影在线播放| 欧美一区二区三区四区在线| 免费观看亚洲| 国产精品久久久久77777| 国产精品99| 91久久精品一区| 亚洲一级大片| 久久精品女人的天堂av| 欧美精品久久久久久| 一区二区三区一级片| 在线精品国产| 日本中文字幕网址| 丝瓜av网站精品一区二区| 日本一二区免费| 国产99精品视频| 在线观看日韩精品视频| 国产婷婷一区二区| 熟女av一区二区| 亚洲国产精品久久人人爱蜜臀| 尤物视频在线观看国产| 在线看日韩精品电影| 国产精品久久久久久久免费| 精品成人一区二区三区四区| 日本在线一二三| 久久精品2019中文字幕| 不卡的av影片| 国产精品91久久久| 精品一区二区三区四区五区| 国产精品久久精品国产| 国产精品一区高清| 国产又粗又猛又爽又黄的网站| 日韩午夜在线电影| 天堂网在线免费观看| 国产98色在线|日韩| 亚洲av无码一区二区三区人| 《视频一区视频二区| 一级片免费网址| 欧美日本视频在线| 欧美婷婷久久五月精品三区| 色偷偷av亚洲男人的天堂| xxx性欧美| 成人国产精品久久久久久亚洲| 久久99国产精品久久99大师| 在线观看一区二区三区三州| 国产精品普通话对白| 亚洲午夜精品一区| 久久影音资源网| 玖玖爱免费视频| 欧美日韩你懂得| 午夜视频福利在线| 精品自拍视频在线观看| jizz欧美| 久久这里精品国产99丫e6| 欧美在线高清| 日本人视频jizz页码69| 91丨porny丨首页| wwwav国产| 欧美午夜精品电影| 四虎在线免费看| 色综合男人天堂| 国产精品一区二区三区www| 欧美专区一二三| 亚洲黄色毛片| wwwxxxx在线观看| 国产精品欧美一区喷水| 99久久久无码国产精品免费蜜柚 | 成人免费福利视频| 成人动漫免费在线观看| 久久久久免费精品| 91婷婷韩国欧美一区二区| 久草视频免费播放| 日韩区在线观看| 操你啦视频在线| 91欧美精品成人综合在线观看| jizzjizz欧美69巨大| 岳毛多又紧做起爽| 97精品电影院| a v视频在线观看| 亚洲成av人影院在线观看| 中文字幕有码在线视频| 91中文在线观看| 91成人超碰| 色18美女社区| 综合久久国产九一剧情麻豆| 在线播放一级片| 中文字幕久久精品| 国产成人a视频高清在线观看| 日韩一区二区三区资源| 免费在线视频一区| 国产人与禽zoz0性伦| 777久久久精品| 2021国产在线| 国产精品白丝jk白祙| 精品白丝av| 亚洲一区二区在线免费| 偷拍一区二区三区四区| 日韩三级电影网| 国产精品国产福利国产秒拍| 精品日韩一区| 亚洲欧美日本一区二区三区| 亚洲视频在线观看一区| a级片在线视频| 欧美极品美女电影一区| 欧美综合精品| 午夜欧美福利视频| 国产精品高潮呻吟久久| 99久久精品日本一区二区免费| 欧美国产视频一区二区| 国产一区二区在线视频你懂的| 欧美男女爱爱视频| 久久久久久99精品| 在线免费看av片| 欧美激情2020午夜免费观看| 久久悠悠精品综合网| 男人搞女人网站| 亚洲视频一二区| 午夜av免费观看| 国产精品第二页| 91成人影院| 最近中文字幕无免费| 欧洲国内综合视频| av中文字幕在线播放| 国产一区二区久久久| 久久在线精品| 成人免费视频国产免费观看| 精品99一区二区三区| av亚洲一区二区三区| 成人免费看片视频在线观看| 99久久精品免费看国产免费软件| 中文字幕手机在线视频| 欧美成人久久久| 国产精品三级| 中文字幕一二三| 91福利资源站| 国产在线xxx| 亚洲一区二区精品在线观看| 国产91对白在线观看九色| 无码人妻精品一区二区| 欧美大片免费观看| 清纯唯美综合亚洲| 日本五十肥熟交尾| 欧美日韩在线免费视频| 麻豆视频在线看| 91嫩草国产丨精品入口麻豆| 2023国产精品自拍| 午夜精品一二三区| 国产精品欧美一区二区三区奶水 |