如果喜欢有个UI界面的话可以把KUbernetes Dasoboard 配置起来看看。以下是我在我之前配置的虚拟机cluster上配置Kubernetes Dashboard的过程。
[root@kub-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION kub-master Ready master 1d v1.11.3 kub-node01 Ready <none> 1d v1.11.3 kub-node02 Ready <none> 1d v1.11.3 [root@kub-master ~]#
如果嫌每次运行Kubectl都得SSH进master node太麻烦,也可以从其他机器直接操作cluster。对我来说,就是在macBookPro笔记本电脑上进行配置即可。
首先安装kubectl,直接跑“brew install kubectl” 即可。安装完毕后在到当前用户根目录下创建个“.kube”目录。
将master node上的配置文件scp 下来:
scp root@<master node ip address>:/etc/kubernetes/admin.conf ~/.kube/config
此时在本机运行 "kubectl get nodes" 就和在master node里运行完全一样了。
经过上一步的配置,直接在本地跑一句话即可:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
此时可以看到Kubernetes Dasoboard的Pod已经跑起来了:
[root@kub-master ~]# kubectl get pods -n kube-system -o wide | grep dashboard kubernetes-dashboard-767dc7d4d-6rfkb 1/1 Running 0 6h 10.36.0.1 kub-node02 <none> [root@kub-master ~]#
Kubernetes Dashbaord 他和访问权限可以通过Kubeconfig或Token两种方式来实现,我是按照github上的说明配置了token
创建一个service account,比如命名为admin-user. 在本机编辑一个yaml 文件,比如叫admin-user.yaml,包含以下内容:
apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system
创建该用户:
kubectl apply -f ./admin-user.yaml
再创建一个角色绑定文件,比如叫"role-binding.yaml",包含如下内容:
apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kube-system
绑定权限:
kubectl apply -f ./role-binding.yaml
跑以下语句获取token:
[root@kub-master ~]# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk ‘{print $1}‘) Name: admin-user-token-dt8fb Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name=admin-user kubernetes.io/service-account.uid=0eb54c95-c178-11e8-87b2-08002763696f Type: kubernetes.io/service-account-token Data ==== ca.crt: 1025 bytes namespace: 11 bytes token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWR0OGZiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwZWI1NGM5NS1jMTc4LTExZTgtODdiMi0wODAwMjc2MzY5NmYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.eEOjIFDAnqfu--cA4X1AADsVQ2RLulkP0HIDq84G0capZBRKPs1fjjOGM67wmuQBbhMpi18nfi_moKknpJ_xBPMNY29_GezrC5-BHAY_CjMLn4CJyq--DFvh7Es_xoymndS9vBQHeBPgpqhjzKs9gc2AaLvVDz7Ls1GbvbS93SptV8JC4hmSOVPWhkGqwjx-Ijk-X0Lq52S9ZeFpSYmy0vUJMkcIpUtUiuBsTJBxYBbTuX5maIy1q_9fmmyMJnr0ztuz3gRyj8pLVUR7PCEueoj6ZhgQgmKIHT46xRSkyzkcNOTZLo4qENouKmLOKKTEISI-kx2I9-oMH2z8wXUfwg
在本机跑一下“kubectl proxy”, 再在本地浏览器里访问如下URL:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
此时应该可以看到登录页面,选择Token方式,再把之前保存的Token粘贴进来,点击“Sign In”按钮。
此时Dashboard首页就应该出现了:
Kubernetes学习笔记-2: 配置Kubernetes Dashboard
原文:https://www.cnblogs.com/cbw99/p/9709180.html