當前位置:編程學習大全網 - 編程語言 - K8S安裝和集群創建終極教程(單主多工)

K8S安裝和集群創建終極教程(單主多工)

本文將以最簡單、最直接、最完整的方式記錄kubernetes(以下簡稱K8S)單主多工節點的分簇步驟。

首先,我們要簡單了解壹下這篇文章的三個核心概念:

內存建議至少4G。

問:如何查看主機名?

答:執行命令hostname。

問:如何修改主機名?

答:永久生效的方式:執行命令vi /etc/hostname,去掉第壹行(不能註釋掉,需要去掉),然後重寫自定義主機名(註意命名標準),保存重啟後生效;

暫時生效:執行以下命令

問:如何查看MAC地址?

回答:執行命令ip link,然後看妳的第壹塊網卡。

問:如何查看product_uuid?

答:執行命令sudo cat/sys/class/DMI/id/product _ uuid。

註意:端口範圍30000-32767是我們創建服務端口必須設置的範圍(超出設置範圍會有限制提示,創建會失敗),這是K8S規定的。

另外,如果想直接關閉防火墻,也可以。

⑥必須禁用交換。

交換總數大於0,表示交換分區是打開的。

問:如何關閉交換?

回答:編輯文件/etc/fstab,在交換行前加壹個#保存,重啟服務器。

再次檢查分區狀態,它已經生效。

公共容器運行時(運行時):

本文使用的容器引擎是Docker。

安裝後查看版本:

當出現可能與Docker引擎有關的奇怪異常時,可以嘗試卸載Docker並重新安裝,但壹定要註意是否需要備份映像、容器、卷或配置文件。

下面記錄了卸載Docker引擎的步驟:

①卸載Docker引擎、CLI和Containerd包:

②主機上的映像、容器、卷或自定義配置文件不會被自動刪除。刪除所有鏡像、容器和卷:

③如果配置文件包含非法字符,會導致啟動失敗,我們需要刪除它,重新構建。

至此,Docker引擎已經卸載幹凈。

官網用的是谷歌的百勝源,因為在國內無法連接,所以換成了阿裏提供的百勝源。

①安裝

從安裝信息可以看出,版本號是1.22。

安裝:

kube ADM x86 _ 64 1 . 22 . 4-0 kubernetes 9.3米

kubectl x86 _ 64 1 . 22 . 4-0 kubernetes 9.7M

庫伯萊特x86_64 1.22.4-0庫伯內特20米

②開始。

這是壹個司機。註意不要混淆cgroup和cgroupfs。

引用壹段官方文字

由於Kubean ADM將kubelet作為系統服務進行管理,因此我們建議對基於Kubean ADM的安裝使用systemd驅動程序,而不是cgroupfs驅動程序

Kubeadm默認使用systemd驅動,而我們的docker默認驅動是cgroupfs(docker信息可以查看),所以我們需要把Docker驅動改成systemd。

①編輯Docker配置文件。

②重啟Docker服務

docker info再次查看驅動程序信息,它已經變成systemd。

工作節點的最低配置在這裏。

①鏡像源參數描述

默認情況下,kubeadm會從k8s.gcr.io倉庫拉映像,這在國內是不可能的。官方文件明確表示允許使用其他imageRepository代替k8s.gcr.io

- image-repository您的鏡像倉庫地址

接下來找了壹些國內的鏡源,做了壹個簡單的分析。

基於以上統計,我選擇阿裏雲的鏡像源。

②IP地址範圍參數描述

-pod-network-CIDR = 192.168 . 0 . 0/16

註意:如果192.168 . 0 . 0/16已經在您的網絡中使用,您必須選擇不同的pod網絡CIDR,並替換上述命令中的192.168 . 0 . 0/16。

集群初始化命令:

因為我使用的是演示機器,所以我在這裏發布了完整的執行信息,以便於參考。平時工作中壹定要註意保護敏感信息(我的ip地址範圍是為下面的功能演示定制的,第壹次init需要下載鏡像文件,壹般需要幾分鐘)。

如上所示,集群已成功初始化。這時候壹定要註意上面執行結果的操作提示的最後壹部分。我已經標記了初始化成功後需要執行的三個步驟。

註意:如果初始化成功後需要調整參數,可以執行kubeadm reset,用於盡可能恢復kubeadm init或kubeadm join所做的更改。

要開始使用您的集群,您需要以普通用戶的身份運行以下命令:

在開始使用集群之前,如果您是普通用戶(非root),您需要執行以下命令:

或者,如果您是root用戶,您可以運行:

或者,如果您使用root用戶,可以執行以下命令:

(註意:導出只是暫時生效,也就是說每次登錄都需要執行壹次。)

網絡配置是Pod的網絡,我的網絡插件是calico。

Cidr是ip地址範圍。如果使用PODCDR 192.168 . 0 . 0/16,請跳到下壹步。

但是本文使用的PODCDR是192.100.0/16,所以我需要取消列表中CALICO_IPV4POOL_CIDR變量的註釋,並將其設置為與我選擇的PODCDR相同的值。(註意格式和對齊。)

可以根據需要自定義列表,不需要的話壹般跳過這壹步。

在所有工作節點上執行join命令(復制之前初始化成功後返回的join cluster命令,並在所有工作節點上執行)。

查看主節點上所有節點的狀態。

這裏已經創建了集群。

最後我會安裝K8S可視化界面kubernetes-dashboard供我們日常使用。

①下載yaml文件。

②修改yaml文件,添加類型和節點端口,使服務可以被外部訪問。

③安裝並檢查操作。

④創建新用戶

創建文件後保存並應用。

⑤獲取界面登錄令牌。

⑥登錄儀表板。

192.168.189.128是我的主服務器ip,需要註意的是必須使用https,不能使用ie內核模式。

將生成的令牌復制到輸入框中,然後單擊Login。

儀表板安裝配置完成。

問:如何查看資源?

答:在主服務器上執行以下命令來查看資源(-o wide表示顯示更詳細的信息)。

①查看所有節點

②查看所有名稱空間

③檢查命名空間中的pod。

④所有名稱空間的查看窗格。

⑤實時檢查命名空間中pod的運行狀態。

問:kubeadm join出現異常[錯誤端口-10250]:端口10250正在使用中,如何解決?

答:這是因為妳之前加入失敗,需要進行kubeadm復位後才能再次加入。

問:如何解決在虛擬機上測試時網卡突然消失的問題(題外問題記錄)?

答:

①確認丟失的網卡信息,從ens開始(可選步驟)

配置文件-a

②執行以下命令來解決問題

問:如何查看K8S版本?

答:kubectl版本

問:如果join命令被忘記或過期了怎麽辦?

答:

生成永不過期的。

24小時的世代老化

問:如果Pod壹直重啟,並且沒有其他錯誤信息,該怎麽辦?

答:這通常是因為您的集群中只有壹個主節點,而沒有工作節點。默認情況下,主節點的創建是有汙點的,也就是說,不允許安排新的pod。如果需要的話(當然不建議這麽做),需要刪除母版上的汙漬。要刪除壹個汙點,您可以執行以下命令。

它應該返回以下內容。

  • 上一篇:PLC人員具體做什麽
  • 下一篇:HART協議的工作方式
  • copyright 2024編程學習大全網