linux怎么查看本机内存大小
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~