通過kubectl配置kube-dns/CoreDNS高可用
更新時間 2024-01-05 16:04:28
最近更新時間: 2024-01-05 16:04:28
分享文章
本節主要介紹通過kubectl配置kube-dns/CoreDNS高可用。
操作場景
通過kubernetes命令行工具來配置kube-dns/CoreDNS的高可用。
kube-dns/CoreDNS為集群提供了DNS服務。若集群中只部署了單個kube-dns/CoreDNS,則存在kube-dns/CoreDNS故障后影響整個集群運作的風險,因此建議為集群配置多個kube-dns/CoreDNS。
說明
?在CCE中新建的kubernetes 1.11及以上版本集群默認會安裝CoreDNS插件。
更多DNS相關信息請參見查件管理->CoreDNS(系統資源插件,必裝)或工作負載管理->Kubernetes集群內置DNS配置說明。
前提條件
集群能夠被互聯網訪問,或集群與客戶端機器在同一個VPC下。
操作步驟
步驟 1 登錄CCE控制臺,在左側導航欄中選擇“資源管理 > 集群管理”,單擊待連接集群下的“kubectl”。
步驟 2 根據界面提示的步驟設置集群API訪問方式。
步驟 3 根據界面提示的步驟配置命令行工具。
命令行工具配置成功后,可使用命令行工具來手動配置kube-dns/CoreDNS高可用。
步驟 4 登錄客戶端機器。
步驟 5 編輯kube-dns/CoreDNS的deployment配置文件。
下面以CoreDNS為例,執行命令如下:
kubectl edit deployment coredns -n kube-system
修改deployment配置文件中spec字段下的replicas參數為所需的CoreDNS實例數。
示例
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
generation: 1
labels:
app: coredns
kubernetes-app: coredns
kubernetes.io/cluster-service: "true"
kubernetes.io/name: CoreDNS
release: cceaddon-coredns
name: coredns
namespace: kube-system
resourceVersion: "1927"
selfLink: /apis/extensions/v1beta1/namespaces/kube-system/deployments/coredns
uid: 737b9296-2de0-11e9-b629-fa163e7fb882
spec:
progressDeadlineSeconds: 600
replicas: 2
revisionHistoryLimit: 10
selector:
matchLabels:
app: coredns
kubernetes-app: coredns
strategy:
rollingUpdate:
maxSurge: 10%
maxUnavailable: 0
type: RollingUpdate
template:
metadata:
annotations:
checksum/config: 3095a9b4028195e7e0b8b22c550bf183d0b7a8a7eba20808b36081d0b39f8b81