10、二進制安裝K8s之部署CoreDNS 和Dashboard

二進制安裝K8s之部署CoreDNS 和Dashboard

CoreDNS 和Dashboard 的yaml文件在 k8s源代碼壓縮包里面可以找到對應(yīng)的配置文件,很多人從網(wǎng)上直接下載使用別人的,會導致問多問題,k8s aipverson 每個版本略有不同。

下載與自己集群版本一樣的源碼文件,這里使用1.20

wget https://storage.googleapis.com/kubernetes-release/release/v1.20.9/kubernetes.tar.gz

#解壓
tar -zxvf kubernetes.tar.gz
1、coredns.yaml 文件需要修改的內(nèi)容如下:

CoreDNS 文件路徑(源碼文件路徑)
./kubernetes/cluster/addons/dns/coredns/

        image: registry.com/public/k8s.gcr.io/coredns:1.7.0
        imagePullPolicy: IfNotPresent
        resources:
          limits:
            memory: 170Mi  #修改
          requests:
            cpu: 100m
            memory: 70Mi
        args: [ "-conf", "/etc/coredns/Corefile" ]
        volumeMounts:
        - name: config-volume
          mountPath: /etc/coredns
          
          
          
          
            selector:
    k8s-app: kube-dns
  clusterIP: 10.0.0.2  #修改dnsip
  ports:
  - name: dns
    port: 53
    protocol: UDP
  
#執(zhí)行          
kubectl apply -f coredns.yaml

2、創(chuàng)建service account并綁定默認cluster-admin管理員集群角色:
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

3、查看狀態(tài)

所有的STATUS :Running 都必須顯示 READY顯示 1/1

[root@k8s-master01 ~]# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-567b6cf877-lf8t6   1/1     Running   0          8m24s
calico-node-j6fzg                          1/1     Running   0          8m25s
calico-node-l2v9z                          1/1     Running   0          8m25s
calico-node-zn8ps                          1/1     Running   0          8m25s
coredns-7fc97b887c-8m48p                   1/1     Running   0          58m

4、Dashboard

dashboard文件 路徑(源碼文件路徑)
./kubernetes/cluster/addons/dashboard/

#默認Dashboard只能集群內(nèi)部訪問,修改Service為NodePort類型,暴露到外部:

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort  #新增
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001  #新增
  selector:
    k8s-app: kubernetes-dashboard

#執(zhí)行
kubectl apply -f dashboard.yaml

5、查看狀態(tài)
[root@k8s-master01 ~]# kubectl get pods,svc -n kubernetes-dashboard
NAME                                           READY   STATUS    RESTARTS   AGE
pod/dashboard-metrics-scraper-c74849d7-9s4jg   1/1     Running   0          10h
pod/kubernetes-dashboard-bbf598857-zsr9w       1/1     Running   4          10h

NAME                                TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.0.0.200   <none>        8000/TCP        10h
service/kubernetes-dashboard        NodePort    10.0.0.182   <none>        443:30001/TCP   10h

6、使用輸出的token登錄Dashboard

訪問地址:https://NodeIP:30001

kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容