最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CKAD認證中部署k8s并配置Calico插件

 更新時間:2022年03月31日 10:45:55   作者:癡者工良  
這篇文章介紹了CKAD認證中部署k8s并配置Calico插件的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

預設網(wǎng)絡

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

讀者可參考 https://kubernetes.io/zh/docs/concepts/cluster-administration/networking/ 這里不做過多的說明。

執(zhí)行 ip addr 命令,找到 ens4,把里面提到的 ip 記錄下來。

ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc mq state UP group default qlen 1000
    link/ether 42:01:0a:aa:00:02 brd ff:ff:ff:ff:ff:ff
    inet 10.170.0.2/32 scope global dynamic ens4
       valid_lft 2645sec preferred_lft 2645sec
    inet6 fe80::4001:aff:feaa:2/64 scope link 
       valid_lft forever preferred_lft forever

則 ip 是 10.170.0.2。

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

10.170.0.2      k8smaster

后面我們訪問集群,使用 k8smaster,而且不是使用 ip 直接訪問。

kubeadm 安裝 k8s

執(zhí)行 kubectl version 查看 k8s 版本,GitVersion:"v1.21.0" 表示的即為 k8s 版本,因為工具版本跟 k8s 版本一致。

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

文件內(nèi)容為:

apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubenetesVersion: 1.21.0
controlPlaneEndpoint: "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/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You 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 d76287ccc4701db9d34e0c9302fa285be2e9241fc43c94217d6beb419cdf3c52

Please 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í)行:

  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 是初始化的配置。

配置 calico

然后下下載 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)絡 ip 會在這個范圍。默認是 192.168.0.0 我們不需要改,如果你需要定制,則可以刪除 # ,然后改動 ip。

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

kubectl apply -f calico.yaml

自動補全工具

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

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

我們可以測試一下。

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

輸入完整的 kubectl descibe nodes 可以查到 node 狀態(tài),后面的小節(jié)再聊聊 descibe nodes 的含義。

狀態(tài)描述

執(zhí)行 kubectl descibe 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)絡配置不正確;如果為 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"
  }
]

到此這篇關于CKAD認證中部署k8s并配置Calico插件的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Kubernetes控制節(jié)點的部署

    Kubernetes控制節(jié)點的部署

    這篇文章介紹了Kubernetes控制節(jié)點的部署,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • CentOS 出現(xiàn)no space left on device錯誤解決辦法

    CentOS 出現(xiàn)no space left on device錯誤解決辦法

    這篇文章主要介紹了CentOS 出現(xiàn)no space left on device錯誤解決辦法的相關資料,需要的朋友可以參考下
    2017-04-04
  • Kubernetes?controller?manager運行機制源碼解析

    Kubernetes?controller?manager運行機制源碼解析

    這篇文章主要為大家介紹了Kubernetes?controller?manager運行機制源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Kubernetes中Deployment的升級與回滾

    Kubernetes中Deployment的升級與回滾

    這篇文章介紹了Kubernetes中Deployment的升級與回滾?,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • Minikube搭建Kubernetes集群

    Minikube搭建Kubernetes集群

    這篇文章介紹了Minikube搭建Kubernetes集群的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • Docker與K8s關系介紹不會Docker也可以使用K8s

    Docker與K8s關系介紹不會Docker也可以使用K8s

    想學K8s,必須得先學會Docker嗎?這是很多網(wǎng)友在開始有想法想要學?K8s的時候都會冒出來的想法,要回答這個問題,我們需要先搞清楚?Docker?和?K8s?他們的角色是什么,相互之間是什么關系
    2022-06-06
  • Kubernetes(K8S)容器集群管理環(huán)境完整部署詳細教程-上篇

    Kubernetes(K8S)容器集群管理環(huán)境完整部署詳細教程-上篇

    本系列文章主要介紹了Kubernetes(K8S)容器集群管理環(huán)境完整部署的詳細教程,分為上中下三篇文章,此為上篇,需要的朋友可以參考下
    2022-01-01
  • kubernetes實現(xiàn)分布式限流

    kubernetes實現(xiàn)分布式限流

    這篇文章介紹了kubernetes實現(xiàn)分布式限流的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • k8s集群部署時etcd容器不停重啟問題以及處理詳解

    k8s集群部署時etcd容器不停重啟問題以及處理詳解

    一次在k8s集群中創(chuàng)建實例發(fā)現(xiàn)etcd集群狀態(tài)出現(xiàn)連接失敗狀況,導致創(chuàng)建實例失敗,下面這篇文章主要給大家介紹了關于k8s集群部署時etcd容器不停重啟問題以及處理的相關資料,需要的朋友可以參考下
    2023-01-01
  • Dashboard管理Kubernetes集群與API訪問配置

    Dashboard管理Kubernetes集群與API訪問配置

    這篇文章介紹了Dashboard管理Kubernetes集群與API訪問配置的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04

最新評論

遂宁市| 行唐县| 金寨县| 乐至县| 海门市| 台安县| 广汉市| 迁西县| 西吉县| 阿图什市| 深泽县| 塘沽区| 科尔| 永年县| 彰化县| 九龙城区| 珲春市| 金溪县| 平泉县| 六枝特区| 阜康市| 元朗区| 淮滨县| 宁晋县| 福贡县| 浮梁县| 泽州县| 武冈市| 铜川市| 望都县| 仙桃市| 攀枝花市| 永城市| 石棉县| 东乡县| 荔浦县| 信宜市| 嘉定区| 彭泽县| 广州市| 西和县|