kubernetes部署2.0版本UI页面,以及容器资源使用监控(2)

网友投稿 654 2022-10-29

kubernetes部署2.0版本UI页面,以及容器资源使用监控(2)

大家可能都知道k8s默认有个ui界面,但是呢,一般都使用的是1版本的,今天给大家部署的是2版本页面

完整部署文件 Github 地址:提取码:stzw

完成之后就可以通过web页面访问了

这里使用的是kubeadmin部署的,如果是二进制,需要修改api-server的参数不然无法支持metrics-server服务的

1、创建 Dashboard RBAC 部署文件cat > k8s-dashboard-rbac.yaml <

apiVersion: rbac.authorization.k8s.io/v1kind: Rolemetadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-systemrules:

apiGroups: [""]resources: ["secrets"]resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]verbs: ["get", "update", "delete"] apiGroups: [""]resources: ["configmaps"]resourceNames: ["kubernetes-dashboard-settings"]verbs: ["get", "update"] apiGroups: [""]resources: ["services"]resourceNames: ["heapster", "dashboard-metrics-scraper"]verbs: ["proxy"] apiGroups: [""]resources: ["services/proxy"]resourceNames: ["heapster", """dashboard-metrics-scraper", "["get"] apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardrules: apiGroups: ["metrics.k8s.io"]resources: ["pods", "nodes"]verbs: ["get", "list", "watch"] apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-systemroleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: kubernetes-dashboardsubjects: kind: ServiceAccountname: kubernetes-dashboardnamespace: kube-system apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata:name: kubernetes-dashboardnamespace: kube-systemroleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: kubernetes-dashboardsubjects: kind: ServiceAccountname: kubernetes-dashboardnamespace: kube-systemEOF

部署kubectl apply -f k8s-dashboard-rbac.yaml

2、创建 ConfigMap、Secretcat >k8s-dashboard-configmap-secret.yaml<

apiVersion: v1kind: Secretmetadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-csrfnamespace: kube-systemtype: Opaquedata:csrf: ""

apiVersion: v1kind: Secretmetadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-key-holdernamespace: kube-systemtype: Opaque

kind: ConfigMapapiVersion: v1metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-settingsnamespace: kube-systemEOF

3、部署 Dashboard Config & Secretkubectl apply -f k8s-dashboard-configmap-secret.yaml

创建 Dashboard Deploy 部署文件cat >k8s-dashboard-deploy.yaml<

port: 443targetPort: 8443nodePort: 31001selector:k8s-app: kubernetes-dashboard kind: DeploymentapiVersion: apps/v1metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-systemspec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:k8s-app: kubernetes-dashboardtemplate:metadata:labels:k8s-app: kubernetes-dashboardspec:containers: name: kubernetes-dashboardimage: kubernetesui/dashboard:v2.0.0-rc3ports: containerPort: 8443protocol: TCPargs: --auto-generate-certificates --namespace=kube-system #设置为当前namespacevolumeMounts: name: kubernetes-dashboard-certsmountPath: /certs mountPath: /tmpname: tmp-volumelivenessProbe:HTTPSpath: /port: 8443initialDelaySeconds: 30timeoutSeconds: 30volumes: name: kubernetes-dashboard-certssecret:secretName: kubernetes-dashboard-certs name: tmp-volumeemptyDir: {}serviceAccountName: kubernetes-dashboardtolerations: key: node-role.kubernetes.io/mastereffect: NoScheduleEOF

部署 Dashboard Deploykubectl apply -f k8s-dashboard-deploy.yaml

4、创建 Dashboard Metrics 部署文件

cat >k8s-dashboard-metrics.yaml<

port: 8000targetPort: 8000selector:k8s-app: dashboard-metrics-scraper kind: DeploymentapiVersion: apps/v1metadata:labels:k8s-app: dashboard-metrics-scrapername: dashboard-metrics-scrapernamespace: kube-systemspec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:k8s-app: dashboard-metrics-scrapertemplate:metadata:labels:k8s-app: dashboard-metrics-scraperannotations:seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'spec:containers: name: dashboard-metrics-scraperimage: kubernetesui/metrics-scraper:v1.0.3ports: containerPort: 8000protocol: TCPlivenessProbe:HTTPpath: /port: 8000initialDelaySeconds: 30timeoutSeconds: 30volumeMounts: mountPath: /tmpname: tmp-volumesecurityContext:allowPrivilegeEscalation: falsereadOnlyRootFilesystem: truerunAsUser: 1001runAsGroup: 2001serviceAccountName: kubernetes-dashboardnodeSelector:"beta.kubernetes.io/os": linuxtolerations: key: node-role.kubernetes.io/mastereffect: NoSchedulevolumes: name: tmp-volumeemptyDir: {}

EOF部署 Dashboard Metricskubectl apply -f k8s-dashboard-metrics.yaml

5、创建 Dashboard ServiceAccount 部署文件

cat > k8s-dashboard-token.yaml<

kind: ServiceAccountname: adminnamespace: kube-system apiVersion: v1kind: ServiceAccountmetadata:name: adminnamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: ReconcileEOF

部署访问的 ServiceAccount

kubectl apply -f k8s-dashboard-token.yaml获取 Tokenkubectl describe secret/$(kubectl get secret -n kube-system |grep admin|awk '{print $1}') -n kube-system

好了2版本的web-ui就完成了有什么问题可以私信我哈

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mybatis第三方PageHelper分页插件的使用与原理
下一篇:SPI接口简介 如何减少系统电路板设计中的数字GPIO数量
相关文章

 发表评论

暂时没有评论,来抢沙发吧~