安装kubernetes-dashboard-2.0.0及metrics-server-0.0.6
基于kubernetes环境进行安装dashboard
kubernetes环境搭建
安装kubernetes-dashboard-2.0.0
1.下载kubernetes-dashboard-2.0.0的官方yaml到本地
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc7/aio/deploy/recommended.yaml
注:若提示拒绝连接,修改/etc/hosts文件,增加
151.101.76.133 raw.githubusercontent.com
然后执行
/etc/init.d/network restart
2.官方部署dashboard的服务没使用nodeport,所以需要修改yaml中service,添加nodeport,dashboard访问端口设置为30000
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
ports:
- port: 443
targetPort: 8443
nodePort: 30000
type: NodePort
selector:
k8s-app: kubernetes-dashboard
3.创建dashboard
kubectl create -f recommended.yaml
所需镜像列表
- kubernetesui/metrics-scraper:v1.0.4
- kubernetesui/dashboard:v2.0.0-rc7
4.查看dashboard的pod状态及服务状态
kubectl get pods --all-namespaces
kubectl get svc -n kubernetes-dashboard
5.访问dashboard,推荐使用firefox浏览器
https://masterIP:30000/#/login
6.使用token进行登录
6.1创建service account-创建文件
vim dashboard-admin.yaml
文件内容
#创建账号:
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: kubernetes-dashboard
name: dashboard-admin
namespace: kubernetes-dashboard
---
#为用户分配权限:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: dashboard-admin-bind-cluster-role
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: dashboard-admin
namespace: kubernetes-dashboard
文件创建完成执行 kubectl create -f dashboard-admin.yaml
6.2获取token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep dashboard-admin | awk '{print $1}')
最终使用输出的token内容进行登录
安装metrics-server-0.3.6
1.下载metrics-server项目
git clone https://github.com/cuishuaigit/k8s-monitor.git
主要使用 https://github.com/cuishuaigit/k8s-monitor/tree/master/metrics-server/deploy/1.8%2B 下的文件
2.修改metrics-server-deployment.yaml文件,不然会运行报错
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: metrics-server
namespace: kube-system
---
#修改apiversion
apiVersion: apps/v1
kind: Deployment
metadata:
name: metrics-server
namespace: kube-system
labels:
k8s-app: metrics-server
spec:
selector:
matchLabels:
k8s-app: metrics-server
template:
metadata:
name: metrics-server
labels:
k8s-app: metrics-server
spec:
serviceAccountName: metrics-server
#删除tolerations
#tolerations:
# - effect: NoSchedule
# key: node.kubernetes.io/unschedulable
# operator: Exists
# - key: NoSchedule
# operator: Exists
# effect: NoSchedule
volumes:
# mount in tmp so we can safely use from-scratch images and/or read-only containers
- name: tmp-dir
emptyDir: {}
containers:
- name: metrics-server
image: k8s.gcr.io/metrics-server-amd64:v0.3.6
imagePullPolicy: Always
#修改command内容
command:
- /metrics-server
- --metric-resolution=30s
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP
volumeMounts:
- name: tmp-dir
mountPath: /tmp
3.创建metrics-server
到yaml文件目录下执行
kubectl create -f .
所需镜像列表
- k8s.gcr.io/metrics-server-amd64:v0.3.6
创建完成,等待查看pod运行状态,全是Running后便可查到信息
以上内容为本人通过各个网站安装文档进行亲身实践后整理,如有问题,请留言