博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
部署 dashboard 插件
阅读量:4701 次
发布时间:2019-06-09

本文共 2984 字,大约阅读时间需要 9 分钟。

说明:本部署文章参照了  ,欢迎给作者star

注意:如果没有特殊指明,本文档的所有操作均在 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.yamlapiVersion: v1kind: Servicemetadata:  name: kubernetes-dashboard  namespace: kube-system  labels:    k8s-app: kubernetes-dashboard    kubernetes.io/cluster-service: "true"    addonmanager.kubernetes.io/mode: Reconcilespec:  type: NodePort # 增加这一行  selector:    k8s-app: kubernetes-dashboard  ports:  - port: 443    targetPort: 8443
  • 指定端口类型为 NodePort,这样外界可以通过地址 nodeIP:nodePort 访问 dashboard;

执行所有定义文件

$ ls *.yamldashboard-configmap.yaml  dashboard-controller.yaml  dashboard-rbac.yaml  dashboard-secret.yaml  dashboard-service.yaml$ kubectl create -f  .

 

查看分配的 NodePort

[root@k8s-master1 dashboard]# kubectl get deployment kubernetes-dashboard  -n kube-system -o wideNAME                   READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS             IMAGES                                          SELECTORkubernetes-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/$imageNamedone

 

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

dashboard 的 --authentication-mode 支持 token、basic,默认为 token。如果使用 basic,则 kube-apiserver 必须配置 '--authorization-mode=ABAC' 和 '--basic-auth-file' 参数。

 

创建登录 Dashboard 的 token 和 kubeconfig 配置文件

Dashboard 默认只支持 token 认证,所以如果使用 KubeConfig 文件,需要在该文件中指定 token,不支持使用 client 证书认证。

创建登录 token

kubectl create sa dashboard-admin -n kube-systemkubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-adminADMIN_SECRET=$(kubectl get secrets -n kube-system | grep dashboard-admin | awk '{print $1}')DASHBOARD_LOGIN_TOKEN=$(kubectl describe secret -n kube-system ${ADMIN_SECRET} | grep -E '^token' | awk '{print $2}')echo ${DASHBOARD_LOGIN_TOKEN}

使用输出的 token 登录 Dashboard。

 

source /opt/k8s/bin/environment.sh# 设置集群参数kubectl config set-cluster kubernetes \  --certificate-authority=/etc/kubernetes/cert/ca.pem \  --embed-certs=true \  --server=${KUBE_APISERVER} \  --kubeconfig=dashboard.kubeconfig# 设置客户端认证参数,使用上面创建的 Tokenkubectl config set-credentials dashboard_user \  --token=${DASHBOARD_LOGIN_TOKEN} \  --kubeconfig=dashboard.kubeconfig# 设置上下文参数kubectl config set-context default \  --cluster=kubernetes \  --user=dashboard_user \  --kubeconfig=dashboard.kubeconfig# 设置默认上下文kubectl config use-context default --kubeconfig=dashboard.kubeconfig

用生成的 dashboard.kubeconfig 登录 Dashboard。

 

转载于:https://www.cnblogs.com/gytangyao/p/10871485.html

你可能感兴趣的文章
2017-08-22 随笔
查看>>
KMP瞎扯一下
查看>>
div盒子中子元素(子元素可能是盒子, 图片) 中居中的三种方法
查看>>
【CF653G】Move by Prime 组合数
查看>>
spring mvc+mybatis+sql server简单配置
查看>>
bzoj1664:参加节日庆祝
查看>>
个人博客06
查看>>
[Usaco2005 dec]Layout
查看>>
ChatSecure
查看>>
中国剩余定理学习笔记
查看>>
深度学习中优化【Normalization】
查看>>
POJ2309BST(树状数组)
查看>>
洛谷P2114 起床困难综合症【位运算】【贪心】
查看>>
Ubuntu+caffe训练cifar-10数据集
查看>>
net 把指定 URI 的资源下载到本地
查看>>
招投标专家库
查看>>
OJ-2:区间问题【九度1554】
查看>>
NSURLSession详解
查看>>
实时处理与流处理
查看>>
从零开始的全栈工程师——js篇2.17(属性和节点获取)
查看>>