W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
CoreDNS 是在 agent 節(jié)點啟動時部署的。要禁用,請在每臺服務(wù)器上運行?--disable coredns
?選項。
如果你不安裝 CoreDNS,你將需要自己安裝一個集群 DNS 提供商。
Traefik是一個現(xiàn)代的 HTTP 反向代理和負載均衡器,它是為了輕松部署微服務(wù)而生的。在設(shè)計,部署和運行應(yīng)用程序時,它簡化了網(wǎng)絡(luò)復(fù)雜性。
啟動 server 時,默認情況下會部署 Traefik。更多信息請參見 自動部署清單。默認的配置文件在?/var/lib/rancher/k3s/server/manifests/traefik.yaml
?中。
Traefik ingress controller 將使用主機上的 80 和 443 端口(即這些端口不能用于 HostPort 或 NodePort)。
不應(yīng)該手動編輯 ?traefik.yaml
?文件,因為 k3s 一旦重啟就會再次覆蓋它。相反,你可以通過在?/var/lib/rancher/k3s/server/manifests
?中創(chuàng)建一個額外的?HelmChartConfig
?清單來定制 Traefik。更多細節(jié)和例子見 使用 HelmChartConfig 自定義打包的組件 。關(guān)于可能的配置值的更多信息,請參考官方的 Traefik Helm 配置參數(shù)。
要禁用它,請使用?--disable traefik
?選項啟動每個 server。
如果未禁用 Traefik,則 K3s 1.20 及更早版本將安裝 Traefik v1,而 K3s 1.21 及更高版本將安裝 Traefik v2(如果 v1 不存在)。
要從較舊的 Traefik v1 實例進行遷移,請參考 Traefik 文檔 和 遷移工具。
在你的 Kubernetes 集群中可以使用 service load balancer(LB)。K3s 提供了一個名為Klipper Load Balancer的負載均衡器,它可以使用可用的主機端口。
上游 Kubernetes 允許創(chuàng)建 LoadBalancer 類型的 Service,但不包括 LB 的實現(xiàn)。某些 LB 服務(wù)需要云提供商,例如 Amazon EC2 或 Microsoft Azure。相比之下,K3s service LB 使得可以在沒有云提供商的情況下使用 LB 服務(wù)。
一些云提供商(如 Linode)會以 "localhost "作為主機名創(chuàng)建機器,而其他提供商可能根本沒有設(shè)置主機名。這可能會導(dǎo)致域名解析的問題。你可以用?--node-name
?標志或?K3S_NODE_NAME
?環(huán)境變量來運行 K3s,這樣就會傳遞節(jié)點名稱來解決這個問題。 K3s 創(chuàng)建了一個控制器,該控制器為 service load balancer 創(chuàng)建了一個 Pod,這個 Pod 是Service類型的 Kubernetes 對象。
對于每個 service load balancer,都會創(chuàng)建一個DaemonSet。 DaemonSet 在每個節(jié)點上創(chuàng)建一個前綴為?svc
?的 Pod。
Service LB 控制器會監(jiān)聽其他 Kubernetes Services。當它找到一個 Service 后,它會在所有節(jié)點上使用 DaemonSet 為該服務(wù)創(chuàng)建一個代理 Pod。這個 Pod 成為其他 Service 的代理,例如,來自節(jié)點上 8000 端口的請求可以被路由到端口 8888 上的工作負載。
如果 Service LB 運行在有外部 IP 的節(jié)點上,則使用外部 IP。
如果創(chuàng)建多個 Services,則為每個 Service 創(chuàng)建一個單獨的 DaemonSet。
只要使用不同的端口,就可以在同一節(jié)點上運行多個 Services。
如果您嘗試創(chuàng)建一個在 80 端口上監(jiān)聽的 Service LB,Service LB 將嘗試在集群中找到 80 端口的空閑主機。如果該端口沒有可用的主機,LB 將保持 Pending 狀態(tài)。
在 K3s 中創(chuàng)建一個LoadBalancer 類型的 Service。
要排除節(jié)點使用 Service LB,請將以下標簽添加到不應(yīng)排除的節(jié)點上:
svccontroller.k3s.cattle.io/enablelb
如果使用標簽,則 service load balancer 僅在標記的節(jié)點上運行。
要禁用嵌入式 LB,請使用?--disable servicelb
?選項運行 k3s server。
如果您希望運行其他 LB,例如 MetalLB,這是必需的。
一些云提供商(如 Linode)會以 "localhost "作為主機名創(chuàng)建機器,而其他提供商可能根本沒有設(shè)置主機名。這可能會導(dǎo)致域名解析的問題。你可以用?--node-name
?標志或?K3S_NODE_NAME
?環(huán)境變量來運行 K3s,這樣就會傳遞節(jié)點名稱來解決這個問題。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: