前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubernetes-1.17.0集群搭建(下)

kubernetes-1.17.0集群搭建(下)

原创
作者头像
洛秋_
修改2023-12-17 18:17:38
1910
修改2023-12-17 18:17:38
举报
文章被收录于专栏:洛秋的运维之路

部署 Dashboard

在 Kubernetes 部署 Dashboard 的过程中,我们能够通过几种方式来搭建和访问它。Dashboard 提供了一个便捷的 Web 界面,方便对 Kubernetes 集群进行管理和监控。让我们深入了解这个过程,一起探索如何使用 Dashboard 来优化 Kubernetes 管理体验。

YAML 文件直接部署

首先,我们可以使用 YAML 文件来部署 Dashboard。通过以下命令,我们可以直接使用提供的 YAML 文件进行部署:

代码语言:shell
复制
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

一旦部署完成,我们需要确认 Dashboard 所在的命名空间。使用以下命令可以查看 Dashboard 的命名空间:

代码语言:shell
复制
kubectl get pods -n kubernetes-dashboard  【在提示信息第一行可以看到】

默认情况下,Dashboard 只能在集群内部访问。我们可以通过修改 Service 类型为 NodePort 的方式将 Dashboard 暴露到外部。首先,我们删除刚刚部署的 Dashboard,然后下载 recommended.yaml 文件并对其进行修改。修改后的文件应包含类似以下内容:

代码语言:shell
复制
kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

修改recommended.yaml

代码语言:shell
复制
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard

这样一来,Dashboard 将会以 NodePort 的形式暴露在地址:http://NodeIP:30001。

此外,还存在另外两种 Dashboard 的部署方式:二进制部署和 Kubeadm 部署。

二进制部署方式

对于二进制部署方式,我们首先删除默认的 secret,然后利用自签名证书创建新的 secret。接着,我们需要修改 dashboard.yaml 文件,在 args 下增加两行证书内容。这样的操作能够使 Dashboard 以 HTTPS 方式运行,更安全地访问。

代码语言:shell
复制
kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard
kubectl create secret generic kubernetes-dashboard-certs \
--from-file=/opt/kubernetes/ssl/server-key.pem --from-file=/opt/kubernetes/ssl/server.pem -n kubernetes-dashboard

修改 dashboard.yaml 文件,在args下面增加证书两行

代码语言:shell
复制
args:
       # PLATFORM-SPECIFIC ARGS HERE
       - --auto-generate-certificates
       - --tls-key-file=server-key.pem
       - --tls-cert-file=server.pem

Kubeadm部署方式

而对于 Kubeadm 部署方式,同样需要先删除默认的 secret,然后使用自签名证书创建新的 secret。接着,修改 dashboard.yaml 文件,在 args 下增加证书内容。随后应用修改后的 yaml 文件即可。

代码语言:shell
复制
kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard

kubectl create secret generic kubernetes-dashboard-certs \
--from-file=/etc/kubernetes/pki/apiserver.key --from-file=/etc/kubernetes/pki/apiserver.crt -n kubernetes-dashboard
kubectl apply -f kubernetes-dashboard.yaml

修改 dashboard.yaml 文件,在args下面增加证书两行

代码语言:shell
复制
args:
         # PLATFORM-SPECIFIC ARGS HERE
         - --auto-generate-certificates
         - --tls-key-file=apiserver.key
         - --tls-cert-file=apiserver.crt

kubectl apply -f kubernetes-dashboard.yaml

为了使用 Dashboard,我们还需要创建 service account 并将其与默认的 cluster-admin 管理员集群角色绑定。这样可以获取登录 Dashboard 所需的 token。

代码语言:shell
复制
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

以上操作可以使 Dashboard 在 Kubernetes 环境中更加便捷地使用,提供可视化的管理界面,并且通过 HTTPS 加密方式提高了安全性。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 部署 Dashboard
    • YAML 文件直接部署
      • 二进制部署方式
        • Kubeadm部署方式
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档