基于kubernetes v1.17部署dashboard:v2.0-beta8
2021-03-29 19:25
标签:html 就会 items item 命令 主机 mon 时间 http Dashboard 是基于网页的 Kubernetes 用户界面。您可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。您可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源(如 Deployment,Job,DaemonSet 等等)。例如,您可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。 在部署完kubernetes v1.17后,让我们来部署一下dashboard,然后通过图形化界面来对资源进行查看与管理。 操作系统:CentOS Linux release 7.6.1810 (Core) docker:19.03.5 kubernetes:v1.17.0 主机名和ip: 部署GitHub上目前最新版本的dashboard v2.0.0-beta8 https://github.com/kubernetes/dashboard/releases 修改service通过NodePort方式访问k8s dashboard: 由于默认的service类型是ClusterIP,我们是自建的kubernetes,无法自动分配ip给service,所以这里我们需要修改一下dashboard的service类型,指定为NodePort以方便我们访问。 应用配置文件 之后指定namespace查看pod和service 通过节点ip以及service的端口30001访问dashboard页面 注意:在没有设置证书的情况下,通过Chrome和ie内核是无法访问这个页面的,我们这里就先使用火狐来继续实验,后面补充通过更新证书来解决此问题。 火狐浏览器: 我们还需要创建一个dashboard用户来登录 创建一个yaml文件,内容如下 应用配置文件创建用户 获取到用户的token以用作登录 登录dashboard 成功登录后的界面 在学习完kubernetes的基础后,再来看dashboard,就会对整体架构有更清晰的认识。 在Dashboard中,我们通过kubectl所做的操作大部分都可以可视化操作,比如我们可以对deployment做伸缩: 执行命令以及日志追踪 还可以编辑资源的yaml文件,以及导入yaml文件创建 更新资源 问题:通过Chrome和ie无法正常访问dashboard 原因是默认证书是0001年1月签发的已经过期 解决思路:生成有效证书替换之前的证书 手工创建namespace 创建证书存放目录 修改 deployment 配置,具体修改见下面配置 部署 k8s dashboard 再次通过Chrome或ie访问,即可正常。 记得还需要重新创建用户 基于kubernetes v1.17部署dashboard:v2.0-beta8 标签:html 就会 items item 命令 主机 mon 时间 http 原文地址:https://www.cnblogs.com/lizhewei/p/12603285.html一、前言
二、安装
环境信息
hostname
ip
master01
192.168.1.230
node01
192.168.1.241
node02
192.168.1.242
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
---
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort #新加此行
ports:
- port: 443
nodePort: 30001 #新加此行
targetPort: 8443
selector:
k8s-app: kubernetes-dashboardkubectl apply -f recommended.yaml
[root@master01 ~]# cat create-admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
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
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk ‘{print $1}‘)
三、使用dashboard
补充:
1、解决Chrome、ie无法正常访问dashboard问题
生成证书
下面是生成 k8s dashboard 域名证书方法,任何一种都可以
https://freessl.cn
网站,在线生成免费1年
的证书Let’s Encrypt
生成 90天
免费证书Cert-Manager
服务来生成和管理证书#我是在家目录创建的目录
mkdir certs
cd certs
#生成私钥
openssl genrsa -out dashboard.key 2048
#生成csr证书签名请求
openssl req -new -out dashboard.csr -key dashboard.key -subj ‘/CN=192.168.1.241‘
#生成自签名的ssl证书
openssl x509 -req -days 365 -in dashboard.csr -signkey dashboard.key -out dashboard.crt 重新创建dashboard
kubectl delete -f create-admin.yaml
kubectl delete -f recommended.yaml
kubectl create namespace kubernetes-dashboard
mkdir $HOME/certs
手工生成secret;后面会将recommend配置中关于certs部分注释掉
kubectl create secret generic kubernetes-dashboard-certs --from-file=$HOME/certs -n kubernetes-dashboard
$ vim recommended.yaml
# 把创建 kubernetes-dashboard-certs Secret 注释掉,前面已通过命令创建
#apiVersion: v1
#kind: Secret
#metadata:
# labels:
# k8s-app: kubernetes-dashboard
# name: kubernetes-dashboard-certs
# namespace: kubernetes-dashboard
#type: Opaque
# 添加ssl证书路径,关闭自动更新证书,添加多长时间登出
containers:
- args:
#- --auto-generate-certificates
- --tls-cert-file=/tls.crt
- --tls-key-file=/tls.key
- --token-ttl=3600
kubectl apply -f recommended.yaml
上一篇:JQ模块一:Ajax
下一篇:一段程序让你看懂JS中的this
文章标题:基于kubernetes v1.17部署dashboard:v2.0-beta8
文章链接:http://soscw.com/essay/69651.html