日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:Kubernetes重新配置kubeadm集群

重新配置 kubeadm 集群

kubeadm 不支持自動重新配置部署在托管節(jié)點上的組件的方式。 一種自動化的方法是使用自定義的 operator。

創(chuàng)新互聯(lián)建站主營三穗網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),三穗h5微信小程序開發(fā)搭建,三穗網(wǎng)站營銷推廣歡迎三穗等地區(qū)企業(yè)咨詢

要修改組件配置,你必須手動編輯磁盤上關(guān)聯(lián)的集群對象和文件。 本指南展示了實現(xiàn) kubeadm 集群重新配置所需執(zhí)行的正確步驟順序。

在開始之前

  • 你需要一個使用 kubeadm 部署的集群
  • 擁有管理員憑據(jù)(?/etc/Kubernetes/admin.conf?) 和從安裝了 kubectl 的主機到集群中正在運行的 kube-apiserver 的網(wǎng)絡(luò)連接
  • 在所有主機上安裝文本編輯器

重新配置集群

kubeadm 在 ConfigMap 和其他對象中寫入了一組集群范圍的組件配置選項。 這些對象必須手動編輯,可以使用命令 ?kubectl edit?。

?kubectl edit? 命令將打開一個文本編輯器,你可以在其中直接編輯和保存對象。 你可以使用環(huán)境變量 ?KUBECONFIG ?和 ?KUBE_EDITOR ?來指定 kubectl 使用的 kubeconfig 文件和首選文本編輯器的位置。

例如:

KUBECONFIG=/etc/kubernetes/admin.conf KUBE_EDITOR=nano kubectl edit 

Note:

保存對這些集群對象的任何更改后,節(jié)點上運行的組件可能不會自動更新。 以下步驟將指導(dǎo)你如何手動執(zhí)行該操作。

Warning:

ConfigMaps 中的組件配置存儲為非結(jié)構(gòu)化數(shù)據(jù)(YAML 字符串)。 這意味著在更新 ConfigMap 的內(nèi)容時不會執(zhí)行驗證。 你必須小心遵循特定組件配置的文檔化 API 格式, 并避免引入拼寫錯誤和 YAML 縮進錯誤。

應(yīng)用集群配置更改

更新 ClusterConfiguration

在集群創(chuàng)建和升級期間,kubeadm 將其 ?ClusterConfiguration ?寫入 ?kube-system? 命名空間中名為 ?kubeadm-config? 的 ConfigMap。

要更改 ?ClusterConfiguration ?中的特定選項,你可以使用以下命令編輯 ConfigMap:

kubectl edit cm -n kube-system kubeadm-config

配置位于 ?data.ClusterConfiguration? 鍵下。

Note:

?
ClusterConfiguration ?包括各種影響單個組件配置的選項, 例如 kube-apiserver、kube-scheduler、kube-controller-manager、 CoreDNS、etcd 和 kube-proxy。 對配置的更改必須手動反映在節(jié)點組件上。

在控制平面節(jié)點上反映 ClusterConfiguration 更改

kubeadm 將控制平面組件作為位于 ?/etc/kubernetes/manifests? 目錄中的靜態(tài) Pod 清單進行管理。 對 ?apiServer?、?controllerManager?、?scheduler ?或 ?etcd?鍵下的 ?ClusterConfiguration ?的任何更改都必須反映在控制平面節(jié)點上清單目錄中的關(guān)聯(lián)文件中。

此類更改可能包括:

  • ?extraArgs ?- 需要更新傳遞給組件容器的標(biāo)志列表
  • ?extraMounts ?- 需要更新組件容器的卷掛載
  • ?*SANs? - 需要使用更新的主題備用名稱編寫新證書

在繼續(xù)進行這些更改之前,請確保你已備份目錄 ?/etc/kubernetes/?。

要編寫新證書,你可以使用:

kubeadm init phase certs  --config 

要在 ?/etc/kubernetes/manifests? 中編寫新的清單文件,你可以使用:

kubeadm init phase control-plane  --config 

?? 內(nèi)容必須與更新后的 ?ClusterConfiguration ?匹配。 ?? 值必須是組件的名稱。

Note:

更新 ?
/etc/kubernetes/manifests? 中的文件將告訴 kubelet 重新啟動相應(yīng)組件的靜態(tài) Pod。 嘗試一次對一個節(jié)點進行這些更改,以在不停機的情況下離開集群。

應(yīng)用 kubelet 配置更改

更新 KubeletConfiguration

在集群創(chuàng)建和升級期間,kubeadm 將其 ?KubeletConfiguration ?寫入 ?kube-system? 命名空間中名為 ?kubelet-config? 的 ConfigMap。 你可以使用以下命令編輯 ConfigMap:

kubectl edit cm -n kube-system kubelet-config

配置位于 ?data.kubelet? 鍵下。

反映 kubelet 的更改

要反映 kubeadm 節(jié)點上的更改,你必須執(zhí)行以下操作:

  • 登錄到 kubeadm 節(jié)點
  • 運行 ?kubeadm upgrade node phase kubelet-config? 下載最新的 ?kubelet-config? ConfigMap 內(nèi)容到本地文件 ?/var/lib/kubelet/config.conf ?
  • 編輯文件 ?/var/lib/kubelet/kubeadm-flags.env? 以使用標(biāo)志來應(yīng)用額外的配置
  • 使用 ?systemctl restart kubelet? 重啟 kubelet 服務(wù)

Note:

一次執(zhí)行一個節(jié)點的這些更改,以允許正確地重新安排工作負(fù)載。

Note:

在 ?
kubeadm upgrade? 期間,kubeadm 從 ?
kubelet-config? ConfigMap 下載 ?
KubeletConfiguration ?并覆蓋 ?
/var/lib/kubelet/config.conf? 的內(nèi)容。 這意味著節(jié)點本地配置必須通過?
/var/lib/kubelet/kubeadm-flags.env?中的標(biāo)志或在 kubeadm upgrade 后手動更新/var/lib/kubelet/config.conf`的內(nèi)容來應(yīng)用,然后重新啟動 kubelet。

應(yīng)用 kube-proxy 配置更改

更新 KubeProxyConfiguration

在集群創(chuàng)建和升級期間,kubeadm 將其寫入 ?KubeProxyConfiguration ?在名為 ?kube-proxy? 的 ?kube-system? 命名空間中的 ConfigMap 中。

此 ConfigMap 由 ?kube-system? 命名空間中的 ?kube-proxy? DaemonSet 使用。

要更改 ?KubeProxyConfiguration ?中的特定選項,你可以使用以下命令編輯 ConfigMap:

kubectl edit cm -n kube-system kube-proxy

配置位于 ?data.config.conf? 鍵下。

反映 kube-proxy 的更改

更新 ?kube-proxy? ConfigMap 后,你可以重新啟動所有 kube-proxy Pod:

獲取 Pod 名稱:

kubectl get po -n kube-system | grep kube-proxy

使用以下命令刪除 Pod:

kubectl delete po -n kube-system 

將創(chuàng)建使用更新的 ConfigMap 的新 Pod。

Note:

由于 kubeadm 將 kube-proxy 部署為 DaemonSet,因此不支持特定于節(jié)點的配置。

應(yīng)用 CoreDNS 配置更改

更新 CoreDNS 的 Deployment 和 Service

kubeadm 將 CoreDNS 部署為名為 ?coredns ?的 Deployment,并使用 Service ?kube-dns?, 兩者都在 ?kube-system? 命名空間中。

要更新任何 CoreDNS 設(shè)置,你可以編輯 Deployment 和 Service:

kubectl edit deployment -n kube-system coredns
kubectl edit service -n kube-system kube-dns

反映 CoreDNS 的更改

應(yīng)用 CoreDNS 更改后,你可以刪除 CoreDNS Pod。

獲取 Pod 名稱:

kubectl get po -n kube-system | grep coredns

使用以下命令刪除 Pod:

kubectl delete po -n kube-system 

將創(chuàng)建具有更新的 CoreDNS 配置的新 Pod。

Note:

kubeadm 不允許在集群創(chuàng)建和升級期間配置 CoreDNS。 這意味著如果執(zhí)行了 ?
kubeadm upgrade apply?,你對 CoreDNS 對象的更改將丟失并且必須重新應(yīng)用。

持久化重新配置 

在受管節(jié)點上執(zhí)行 ?kubeadm upgrade? 期間,kubeadm 可能會覆蓋在創(chuàng)建集群(重新配置)后應(yīng)用的配置。

持久化 Node 對象重新配置

kubeadm 在特定 Kubernetes 節(jié)點的 Node 對象上寫入標(biāo)簽、污點、CRI 套接字和其他信息。要更改此 Node 對象的任何內(nèi)容,你可以使用:

kubectl edit no 

在 ?kubeadm upgrade? 期間,此類節(jié)點的內(nèi)容可能會被覆蓋。 如果你想在升級后保留對 Node 對象的修改,你可以準(zhǔn)備一個 kubectl patch 并將其應(yīng)用到 Node 對象:

kubectl patch no  --patch-file 

持久化控制平面組件重新配置

控制平面配置的主要來源是存儲在集群中的 ?ClusterConfiguration ?對象。 要擴展靜態(tài) Pod 清單配置,可以使用 patches。

這些補丁文件必須作為文件保留在控制平面節(jié)點上,以確保它們可以被 ?kubeadm upgrade ... --patches ? 使用。

如果對 ?ClusterConfiguration ?和磁盤上的靜態(tài) Pod 清單進行了重新配置,則必須相應(yīng)地更新節(jié)點特定補丁集。

持久化 kubelet 重新配置

對存儲在 ?/var/lib/kubelet/config.conf? 中的 ?KubeletConfiguration ?所做的任何更改都將在 ?kubeadm upgrade? 時因為下載集群范圍內(nèi)的 ?kubelet-config? ConfigMap 的內(nèi)容而被覆蓋。 要持久保存 kubelet 節(jié)點特定的配置,文件?/var/lib/kubelet/config.conf? 必須在升級后手動更新,或者文件?/var/lib/kubelet/kubeadm-flags.env? 可以包含標(biāo)志。 kubelet 標(biāo)志會覆蓋相關(guān)的 ?KubeletConfiguration ?選項,但請注意,有些標(biāo)志已被棄用。

更改 ?/var/lib/kubelet/config.conf? 或 ?/var/lib/kubelet/kubeadm-flags.env? 后需要重啟 kubelet。


當(dāng)前文章:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes重新配置kubeadm集群
地址分享:http://m.5511xx.com/article/cooscoh.html