亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

CKAD認證中的部署教程

番茄西紅柿 / 3208人閱讀

摘要:以上便是官方的部署方法。如果使用表示讀者可參考本章內(nèi)容主要介紹了認證中要求掌握的部署配置啟動網(wǎng)絡(luò)插件,跟上一篇的內(nèi)容比較,主要是通過文件去控制創(chuàng)建集群,兩章的部署過程一致,只是網(wǎng)絡(luò)插件有所不同。

在上一章中,我們已經(jīng)學(xué)會了使用 kubeadm 創(chuàng)建集群和加入新的節(jié)點,在本章中,將按照 CKAD 課程的方法重新部署一遍,實際上官方教程的內(nèi)容不多,筆者寫了兩篇類似的部署方式,如果已經(jīng)部署了 kubernetes 集群,則本章的內(nèi)容可跳過。

本文為作者的 Kubernetes 系列電子書的一部分,電子書已經(jīng)開源,歡迎關(guān)注,電子書瀏覽地址:

https://k8s.whuanle.cn【適合國內(nèi)訪問】

https://ek8s.whuanle.cn 【gitbook】

部署

預(yù)設(shè)網(wǎng)絡(luò)

本節(jié)主要是配置 hosts 文件,在后續(xù)配置中,通過主機名稱即可快速連接,而不需要每次都打上 IP 地址。

我們在 Master 節(jié)點服務(wù)器執(zhí)行 ip addr 命令,找到 ens4,把里面提到的 ip 記錄下來。

ens4:

如上述 ip 是 10.170.0.2。或者使用 hostname -i 查詢。方式有很多,目前是獲得主機的內(nèi)網(wǎng) IP。

然后修改 /etc/hosts 文件,加上一行(替換這個ip為你的):

10.170.0.2      k8smaster

后面我們訪問集群,使用 k8smaster 這個主機名稱(域名),而且不是需要 IP 地址,使用主機名稱方便記憶,也避免了 IP 強固定。

kubeadm 安裝 k8s

這里的部署過程跟上一章中的有所差異,因為上章中,直接使用 kubeadm init 進行初始化集群,沒有配置更多細節(jié)。

執(zhí)行 kubectl version 查看 k8s 版本,找到這段GitVersion:"v1.21.0" ,即為 Kubernetes 版本。

創(chuàng)建一個 kubeadm-config.yaml 文件,我們使用 kubeadm init 時,通過此配置文件出初始化 k8s master。

文件內(nèi)容為:

apiVersion: kubeadm.k8s.io/v1beta2kind: ClusterConfigurationkubenetesVersion: 1.21.0controlPlaneEndpoint: "k8smaster:6443"networking:    podSubnet: 192.168.0.0/16

注意,: 后面必須帶一個空格。表示key: value。例如 image: nginx:letest ,不帶空格的 : 會連在一起。

然后通過配置文件初始化 Master:

kubeadm init --config=kubeadm-config.yaml --upload-certs --v=5 | tee kubeadm-init.out# 可省略為 kubeadm init --config=kubeadm-config.yaml --upload-certs

--v=5 可以輸出更多信息信息,tee xxx 可以讓信息輸出到一個文件中,方便收集日志或者后續(xù)檢查。

執(zhí)行初始化命令后,終端或查看 kubeadm-init.out 文件,有以下內(nèi)容:

To start using your cluster, you need to run the following as a regular user:  mkdir -p $HOME/.kube  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config  sudo chown $(id -u):$(id -g) $HOME/.kube/configAlternatively, if you are the root user, you can run:  export KUBECONFIG=/etc/kubernetes/admin.confYou should now deploy a pod network to the cluster.Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:  https://kubernetes.io/docs/concepts/cluster-administration/addons/You can now join any number of the control-plane node running the following command on each as root:  kubeadm join k8smaster:6443 --token 45td1j.xqdscm4k06a4edi2 /    --discovery-token-ca-cert-hash sha256:aeb772c57a35a283716b65d16744a71250bcc25d624010ccb89090021ca0f428 /    --control-plane --certificate-key d76287ccc4701db9d34e0c9302fa285be2e9241fc43c94217d6beb419cdf3c52Please note that the certificate-key gives access to cluster sensitive data, keep it secret!As a safeguard, uploaded-certs will be deleted in two hours; If necessary, you can use"kubeadm init phase upload-certs --upload-certs" to reload certs afterward.Then you can join any number of worker nodes by running the following on each as root:kubeadm join k8smaster:6443 --token 45td1j.xqdscm4k06a4edi2 /    --discovery-token-ca-cert-hash sha256:aeb772c57a35a283716b65d16744a71250bcc25d624010ccb89090021ca0f428

按照提示,我們逐個執(zhí)行下面的命令,不要一次性粘貼執(zhí)行,因為 cp -i 表示要你輸入 y/n 確認更改,一次性粘貼會導(dǎo)致跳過(把 -i 改為 -f 也行)。

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

然后:

export KUBECONFIG=/etc/kubernetes/admin.conf

筆者注:KUBECONFIG 環(huán)境變量在下次登錄或新建終端窗口會失效,打開 用戶目錄的.bashrc 文件,在最后面加上 export KUBECONFIG=/etc/kubernetes/admin.conf ,可保證下次登錄或切換終端,依然可用。

筆者注:因為涉及到多用戶,所以如果切換用戶,就不能使用 kubeadm/kubectl/kubelet 命令了,如果讀者切換了用戶,則可以執(zhí)行上面 make -p $HOME/.kube 到 export xxx 這兩部分的命令,這樣別的用戶也可以執(zhí)行命令操作節(jié)點。

輸入 kubeadm config print init-default 可以查看到 master 初始化時配置。

以上便是 CKAD 官方的部署方法。

配置 Calico

什么是 CNI

CNI 意為容器網(wǎng)絡(luò)接口,是 Kubernetes 的一種標準設(shè)計,使用者可以不需要關(guān)注使用了何種網(wǎng)絡(luò)插件,可以在插件或銷毀容器時更加容易地配置網(wǎng)絡(luò)。

Kubernetes 中有 Flannel、Calico、Weave 等主流的插件,在上一篇中,我們部署 Kubernetes 網(wǎng)絡(luò)時,使用了 Weave,而在本章中,我們將使用 Calico 來部署網(wǎng)絡(luò)。

對于 CNI ,后面的章節(jié)會深入學(xué)習(xí)。

Calico(https://github.com/projectcalico/calico) 是針對容器、虛擬機和裸機工作負載的開源網(wǎng)絡(luò)和安全解決方案,它提供了 Pod 之間的網(wǎng)絡(luò)連接和網(wǎng)絡(luò)安全策略實施。

Flannel、Calico、Weave 都是常用的 Kubernetes 網(wǎng)絡(luò)插件,讀者可參考 https://kubernetes.io/zh/docs/concepts/cluster-administration/networking/ 這里不做過多的說明。

首先下載 Calico 的 yaml 文件。

wget https://docs.projectcalico.org/manifests/calico.yaml

然后我們需要留意 yaml 文件中的 CALICO_IPV4POOL_CIDR 的值,讀者直接打開 https://docs.projectcalico.org/manifests/calico.yaml 或者使用 less calico.yaml 在終端上閱讀文件。

找到 CALICO_IPV4POOL_CIDR 例如:

         # - name: CALICO_IPV4POOL_CIDR            #   value: "192.168.0.0/16"

這個表示 ip4 池,如果 ip 不存在,則會自動創(chuàng)建,創(chuàng)建 的 pod 的網(wǎng)絡(luò) ip 會在這個范圍。默認是 192.168.0.0 我們不需要改,如果你需要定制,則可以刪除 # ,然后改動 ip。

[Error] 提示

請務(wù)必根據(jù)你集群中的 IP 段,配置此參數(shù)。

然后我們啟用 Calico 網(wǎng)絡(luò)插件:

kubectl apply -f calico.yaml

當網(wǎng)絡(luò)配置完成后,即可使用 kubeadm join 加入節(jié)點。

其它

在節(jié)點上執(zhí)行命令

如果我們在 Worker 節(jié)點上執(zhí)行命令,會發(fā)現(xiàn):

root@instance-2:~# kubectl describe nodesThe connection to the server localhost:8080 was refused - did you specify the right host or port?

首先在 Master 節(jié)點中,下載 /etc/kubernetes/admin.conf 文件,或者復(fù)制文件內(nèi)容,到 Worker 節(jié)點中。

將文件上傳或復(fù)制到 Worker 節(jié)點的 /etc/kubernetes/admin.conf 文件,執(zhí)行配置即可。

  mkdir -p $HOME/.kube  sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config  sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
echo export KUBECONFIG=/etc/kubernetes/admin.conf >> $HOME/.bashrc

自動補全工具

kubectl 命令和可選參數(shù)非常多,每次都要敲長長的命令,容易出錯,我們可以利用 bash-completion 為我們快速完成命令的輸入。

sudo apt-get install bash-completion -y
source <(kubectl completion bash)echo "source <(kubectl completion bash)" >> $HOME/.bashrc

當我們敲命令時,按下 TAB 鍵,會自動補全。

輸入 kubectl des ,然后按一下 TAB 鍵,會發(fā)現(xiàn)內(nèi)容自動補全為 kubectl describe。

狀態(tài)描述

執(zhí)行 kubectl describe nodes /命令,我們可以看到節(jié)點詳細的信息,其中有個 Conitions 字段,描述了所有正在運行中(Running) 的節(jié)點的狀態(tài),它有 5 個字段或類型:

  • Ready

    Node 是否能夠接收 pod ,如果可以則 Status 為 True;如果節(jié)點不健康,不能接收 pod,則 為 False。正常情況下為 True。

  • DiskPressure

    表示節(jié)點的空閑空間不足以用于添加新 Pod,如果為 True則說明不正常。

  • MemoryPressure

    表示節(jié)點存在內(nèi)存壓力,即節(jié)點內(nèi)存可用量低,如果為 True 則說明不正常。

  • PIDPressure

    表示節(jié)點存在進程壓力,即節(jié)點上進程過多;如果為 True 則說明不正常。

  • NetworkUnavailable

    表示節(jié)點網(wǎng)絡(luò)配置不正確;如果為 True,則說明不正常。

如果使用 JSON 表示:

"conditions": [  {    "type": "Ready",    "status": "True",    "reason": "KubeletReady",    "message": "kubelet is posting ready status",    "lastHeartbeatTime": "2019-06-05T18:38:35Z",    "lastTransitionTime": "2019-06-05T11:41:27Z"  }]

讀者可參考:https://kubernetes.io/zh/docs/concepts/architecture/nodes/

本章內(nèi)容主要介紹了 CKAD 認證中要求掌握的 kubeadm 部署 k8s 、配置啟動 Calico 網(wǎng)絡(luò)插件,跟上一篇的內(nèi)容比較,主要是通過 yaml 文件去控制創(chuàng)建 kubernetes 集群,兩章的部署過程一致,只是網(wǎng)絡(luò)插件有所不同。

一個逗逗的大學(xué)生

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/124817.html

相關(guān)文章

  • 使用 kubeadm 部署

    摘要:上一章中,我們用去搭建單機集群,并且創(chuàng)建在三章中講解,本篇將介紹利用部署多節(jié)點集群,并學(xué)會安裝以及使用的命令行工具,快速創(chuàng)建集群實例,完成部署應(yīng)用的實踐。上一章中,我們用 minikube 去搭建單機集群,并且創(chuàng)建 Deployment、Service(在三章中講解),本篇將介紹利用 kubeadm 部署多節(jié)點集群,并學(xué)會 安裝以及使用 kubernetes 的命令行工具,快速創(chuàng)建集群實例,...

    番茄西紅柿 評論0 收藏2637
  • 用阿里云產(chǎn)品搭建個人網(wǎng)站全教程

    摘要:打開輕量應(yīng)用服務(wù)器產(chǎn)品頁面,目前阿里云輕量應(yīng)用服務(wù)器有多款配置可以滿足用戶的不同需求。好了,利用阿里云產(chǎn)品搭建個人網(wǎng)站的步驟,到這里全部介紹完了。希望能幫助需要用阿里云搭建個人網(wǎng)站的朋友們。申明:這是整體流程,看完這個你至少知道搭建網(wǎng)站怎么個流程了,相當于一個說明書,具體操作時,阿里會給你提示的,很人性化.建站的三個核心關(guān)鍵步驟1注冊域名建議直接在阿里云注冊,方便快捷,管理也方便,還有優(yōu)惠呦...

    Tikitoo 評論0 收藏0
  • Flux7 Docker 系列教程(四):Registry & Workflows

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第四篇。由三個部分組成。由發(fā)布鏡像的供應(yīng)商提供的。通過多重安全檢查進行認證的私有。用于進行和的操作,同時用于時的登錄認證。收到刪除信號和。通知已經(jīng)刪除,刪除數(shù)據(jù)庫中的所有相關(guān)的記錄。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第四篇 Part 4: Registry & Workflo...

    用戶83 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<