1. 程式人生 > >部署 dashboard 插件

部署 dashboard 插件

ati tro create ast bec doc ready ogl 指定

註意:如果沒有特殊指明,本文檔的所有操作均在 k8s-master1 節點上執行。

修改配置文件

下載的 kubernetes-server-linux-amd64.tar.gz 解壓後,再解壓其中的 kubernetes-src.tar.gz 文件。

dashboard 對應的目錄是:cluster/addons/dashboard

cd /opt/k8s/work/kubernetes/cluster/addons/dashboard
$ cat dashboard-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: kubernetes
-dashboard namespace: kube-system labels: k8s-app: kubernetes-dashboard kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile spec: type: NodePort # 增加這一行 selector: k8s-app: kubernetes-dashboard ports: - port: 443 targetPort: 8443
  • 指定端口類型為 NodePort,這樣外界可以通過地址 nodeIP:nodePort 訪問 dashboard;

執行所有定義文件

$ ls *.yaml
dashboard-configmap.yaml  dashboard-controller.yaml  dashboard-rbac.yaml  dashboard-secret.yaml  dashboard-service.yaml

$ kubectl create -f  .

查看分配的 NodePort

[[email protected] dashboard]# kubectl get deployment kubernetes-dashboard  -n kube-system -o wide
NAME                   READY   UP
-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR kubernetes-dashboard 1/1 1 1 5m39s kubernetes-dashboard k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1 k8s-app=kubernetes-dashboard

如果kubernetes-dashboard-amd64:v1.10.1 鏡像拉取失敗,可在所有工作節點執行

images=(
    kubernetes-dashboard-amd64:v1.10.1
)

for imageName in ${images[@]} ; do
    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
done

  • NodePort 32014 映射到 dashboard pod 443 端口;

dashboard 的 --authentication-mode 支持 token、basic,默認為 token。如果使用 basic,則 kube-apiserver 必須配置 ‘--authorization-mode=ABAC‘ 和 ‘--basic-auth-file‘ 參數。

查看 dashboard 支持的命令行參數

部署 dashboard 插件