K8S在Kind中安装DashBoard

        本文记录了在本地Kind环境中,添加k8s的dashboard,前提是首先使用kind构建一个k8s环境,在此不再详细解释了,假设目前已经有了k8s环境。

         dashboard-github地址:https://github.com/kubernetes/dashboard

一、下载相关的yaml文件

(1)recommend.yaml

curl -O https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

 该文件下载完成后,对service部分进行修改,使用NodePort类型,暴露访问端口,如下:

注意在创建k8s集群时,也要暴露节点(容器)对应30001的端口。

 (2) service-account-secret.yaml

# 在kubernetes-dashboard命名空间下创建名为 admin-user 的服务账户
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

---

# 将服务账户admin-user绑定到内置的ClusterRole集群角色cluster-admin上, 实现授权
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

---

# 对名为admin-user的服务账户手动创建Secret
apiVersion: v1
kind: Secret
metadata:
  name: admin-user-secret
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/service-account.name: admin-user
type: kubernetes.io/service-account-token

二、部署服务

执行如下的命令

[kind]# kubectl apply -f recommend.yaml
[kind]# kubectl apply -f service-account-secret.yaml

执行完成后,会创建kubernetes-dashboard的namespace

至此服务方面就已经部署完成了,但发现在浏览器进行访问30001端口时,由于https的问题,无法正常显示登录页面

三、使用OpenSSL生成证书,并替换默认的secret

(1)生成openssl证书

# 制作私钥证书
# 使用rsa算法2048位生成key
openssl genrsa -out server.key 2048

# 制作公钥证书
# 使用key生成crt
openssl req -new -x509 -days 3650 -key server.key -out server.crt

# 将key和crt转换为pem
# 将key转换为pem
openssl rsa -in server.key -out server-key.pem

# 将crt转换为pem
openssl x509 -in server.crt -out server.pem

(2)替换默认的secret

# 删除默认的secret
[kind]# kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard

# 用自签证书创建新的secret
[kind]# kubectl create secret generic kubernetes-dashboard-certs \
--from-file=./server-key.pem --from-file=./server.pem -n kubernetes-dashboard

同时需要修改recommend.yaml文件:

重新执行:

[kind]# kubectl apply -f recommend.yaml

(3)获取token

[kind]# kubectl -n kubernetes-dashboard create token admin-user

四、访问效果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值