公衆號關注 「SY技術小站」
設爲「星標」,每天帶你分享技術與生活!
前言
隨着公司的k8s遷移,會發現集羣越來越多,尤其是有混合雲的公司,開發,測試,預生產,多個生產環境等等,管理k8s集羣會越來越麻煩,下面我來介紹下k8s管理多集羣的倆種方法。
通過多種kubeconfig文件管理
因爲我的一臺機器,網絡打通了多個生產環境,測試,開發環境,故我拿這一臺機器舉個簡單的例子。
#切換到生產集羣
kubectl get pod --kubeconfig=/root/.kube/aliyun_prod-config
#切換到生產idc集羣
kubectl get pod --kubeconfig=/root/.kube/vnet_prod-config
#切換到測試環境
kubectl get pod --kubeconfig=/root/.kube/bjcs_test-config
這樣雖然能達到管理多集羣的目的,但是稍顯麻煩且不靈活
通過kubecm管理k8s多集羣
安裝kubecm我就不詳細說了,下載二進制包解壓可用,地址 https://github.com/sunny0826/kubecm/releases
首先將config文件拷貝到sy目錄。
cd sy
cp /root/.kube/aliyun_prod-config .
cp /root/.kube/vnet_prod-config .
cp /root/.kube/bjcs_test-config .
merge一下,合併kubeconfig文件
kubecm merge -f sy
#直接把新生成的 kubeconfig 文件替換 $HOME/.kube/config 文件
kubecm merge -f sy -c
切換集羣
# kubecm
+------------+-----------------------+-----------------------+--------------------+--------------+
| CURRENT | NAME | CLUSTER | USER | Namespace |
+============+=======================+=======================+====================+======
--------+
| | vnet_prod-config | cluster-ccccc5 | user-hbhbh9gmd5 | |
+------------+-----------------------+-----------------------+--------------------+--------------+
| * | aliyun_prod-config | cluster-bbbbb59 | user-m4fd662d59 | |
+------------+-----------------------+-----------------------+--------------------+--------------+
| | bjcs_test-config | cluster-baaaaa | user-b9mbtft7b2 | |
+------------+-----------------------+-----------------------+--------------------+--------------+
2020/06/22 11:25:41 Cluster check succeeded!
Contains components: [scheduler controller-manager etcd-0 etcd-1 etcd-3 etcd-2 etcd-4]
# kubecm switch
Use the arrow keys to navigate: ↓ ↑ → ← and / toggles search
Select Kube Context
aliyun_prod-config(*)
bjcs_test-config
↓ vnet_prod-config
切換命名空間
# kubecm ns
Search: test█
Select Namespace:
test
test1
小結
通過 kubecm
工具能快速的把多個 kubeconfig 文件合併到一個 kubeconfig 文件中,這種方式相比於第一種更好。
參考鏈接
https://github.com/sunny0826/kubecm
往期精彩文章
微信羣加入方式
歡迎關注作者公衆號
點個在看少個 bug ????