weekly做網(wǎng)站網(wǎng)站推廣的常用方法
分享兩個有利于K8S的工具
目錄
分享兩個有利于K8S的工具
一、部署Dashboard(主節(jié)點(diǎn))
介紹
1.1、查看集群狀態(tài)
1.2、下載yaml文件并運(yùn)行Dashboard
1.3、部署服務(wù)
1.4、創(chuàng)建訪問賬戶、獲取token(令牌)
1.5、瀏覽器訪問Dashboard
二、安裝kubectl自動補(bǔ)全命令(主節(jié)點(diǎn))
2.1、安裝bash-completion工具
2.2、執(zhí)行bash_completion
2.3、加載kubecel completion
一、部署Dashboard(主節(jié)點(diǎn))
-
前提部署好一個Kubernetes集群,可以按照我上一章的文章進(jìn)行部署
介紹
-
Kubernetes Dashboard是一個用于可視化管理和監(jiān)控Kubernetes集群的Web用戶界面。它提供了一種圖形化的方式來查看和管理集群中的資源、應(yīng)用程序和服務(wù)。使得用戶可以更方便地進(jìn)行操作和監(jiān)控
1.1、查看集群狀態(tài)
-
確保狀態(tài)為Ready
[root@k8s-master ~]# kubectl get nodes
NAME ? ? ? ? STATUS ? ROLES ? AGE ? ? VERSION
k8s-master ? Ready ? master ? 7m49s ? v1.18.0
k8s-node01 ? Ready ? <none> ? 7m20s ? v1.18.0
k8s-node02 ? Ready ? <none> ? 7m18s ? v1.18.0
1.2、下載yaml文件并運(yùn)行Dashboard
# 下載yaml文件,如果下載失敗那就多下載幾次
[root@k8s-master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
?
?
# 修改kubernetes-dashboard的Service類型
[root@k8s-master ~]# vim recommended.yaml
apiVersion: v1
kind: Namespace
metadata:name: kubernetes-dashboard
?
---
?
apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
?
---
?
kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
spec:type: NodePort # 增加ports:- port: 443targetPort: 8443nodePort: 30009 ? # 增加selector:k8s-app: kubernetes-dashboard
## 部分內(nèi)容省略
1.3、部署服務(wù)
[root@k8s-master ~]# kubectl apply -f recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
?
?
# 查看kubernetes-dashboard命令空間下的資源
[root@k8s-master ~]# kubectl get pod,svc -n kubernetes-dashboard
NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? ? ? ? ? ? RESTARTS ? AGE
pod/dashboard-metrics-scraper-6b4884c9d5-787lm ? 0/1 ? ? ImagePullBackOff ? 0 ? ? ? ? 41s
pod/kubernetes-dashboard-7b544877d5-6l4tw ? ? ? ?0/1 ? ? ErrImagePull ? ? ? 0 ? ? ? ? 41s
?
NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? CLUSTER-IP ? ? ? EXTERNAL-IP ? PORT(S) ? ? ? ? AGE
service/dashboard-metrics-scraper ? ClusterIP ? 10.111.21.8 ? ? <none> ? ? ? ?8000/TCP ? ? ? 41s
service/kubernetes-dashboard ? ? ? NodePort ? ?10.106.240.109 ? <none> ? ? ? ?443:30009/TCP ? 41s
1.4、創(chuàng)建訪問賬戶、獲取token(令牌)
-
Dashboard支持kuberconfig和Token兩種認(rèn)證方式,這里選擇Token認(rèn)證方式登錄
# 創(chuàng)建賬號dashboard-admin
[root@k8s-master ~]# kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
serviceaccount/dashboard-admin created
?
?
# 賬號授權(quán),綁定cluster-admin角色
[root@k8s-master ~]# kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
?
?
# 獲取賬號token
[root@k8s-master ~]# kubectl describe secrets -n kubernetes-dashboard $(kubectl -n kubernetes-dashboard get secret| awk '/dashboard-admin/ {print $1}')
Name: ? ? ? ? dashboard-admin-token-dtb6c
Namespace: ? kubernetes-dashboard
Labels: ? ? ? <none>
Annotations: kubernetes.io/service-account.name: dashboard-adminkubernetes.io/service-account.uid: b5885626-bc73-45ba-a7eb-b327fa576d95
?
Type: kubernetes.io/service-account-token
?
Data
====
ca.crt: ? ? 1025 bytes
namespace: ?20 bytes
###################################################################
token: ? ? eyJhbGciOiJSUzI1NiIsImtpZCI6IndLcjVNVUljX0dIVzZEUWhrNUR1cTh6Ums0RDQ4VGsxV204eVZrcERwWEUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tZHRiNmMiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiYjU4ODU2MjYtYmM3My00NWJhLWE3ZWItYjMyN2ZhNTc2ZDk1Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.PLD8qEoYxGWE0gz5YmDUcXjYMx6QeCnhsbY8C60BivK5tlm4eqk84pMjsI5BrJs97tVpIb6a9h1lPBrdcR70QfbdFYPW2Qd3Za2kKbK5QModo_ivC1P3RSt0YZDfFLiXGlS44_uQjVEMJZqLDcmNYFPRgEeIicQH3J9FtKvDqdkMXu2kM6XmBqa2G1u8s-JqTVUC_y_OPJUB8W92W1BA6QD7WY7iAkpp78-Jf33qfUdWak8xwdmps5-LSxg3_22hPC3rQ06hD-RP6hl7dE-udHeJRZAMwNFPlZwSi7aNfP8MChBjKP5eW323S0bg820qzGvRZLru9VeHBjxsS_COsA
###################################################################
1.5、瀏覽器訪問Dashboard
-
訪問地址:https://192.168.93.101:30009
-
如果訪問不到那就是鏡像沒拉取下來,可以使用魔法或者私信評論免費(fèi)提供
-
出現(xiàn)以下的頁面代表成功
二、安裝kubectl自動補(bǔ)全命令(主節(jié)點(diǎn))
-
安裝之后再使用kubectl命令的時(shí)候就可以使用tab鍵自動補(bǔ)全命令了
2.1、安裝bash-completion工具
-
通常安裝在所有master節(jié)點(diǎn)上
[root@k8s-master ~]# yum -y install bash-completion
2.2、執(zhí)行bash_completion
[root@k8s-master ~]# source /usr/share/bash-completion/bash_completion
2.3、加載kubecel completion
# 在當(dāng)前bash環(huán)境中臨時(shí)設(shè)置命令補(bǔ)全
[root@k8s-master ~]# source <(kubectl completion bash)
?
# 在當(dāng)前bash環(huán)境中永久設(shè)置命令補(bǔ)全
[root@k8s-master ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc
[root@k8s-master ~]# source ~/.bashrc