侧边栏壁纸
  • 累计撰写 12 篇文章
  • 累计创建 10 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

kubeconfig 多个文件快速合并

爱动脑的脑花
2024-09-06 / 0 评论 / 0 点赞 / 55 阅读 / 8699 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-09-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

背景:

有多个集群的kubeconfig文件,不方便管理和操作各个集群。

想要统一的在某一台服务器上进行管理,并可以快速切换上下文context。

1.拿到所有配置文件

将各环境的kubeconfig文件都拿下来,并放到统一的服务器位置以便下一步处理。

kubeconfig 默认存放位置为: ~/.kube/config

我们将所有环境的配置文件都拿下来,统一放在目标服务器的任一文件夹中。

此处我随便新建了一个文件夹:

每个文件的内容格式如下(此处展示的是网上找的样例文件):

apiVersion: v1
kind: Config
clusters:
- name: my-cluster
  cluster:
    server: https://kubernetes.example.com:6443
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQWV5Z0F3SUJBZ0lJUFV4cHNmdlhkT0F3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TXpBNE1qY3hOVEV6TkROYUZ3MHpNekE0TWpReE5URXpORE5hTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUMvZnpxTWtQWnZXUXJyU05uTERscUw4ZzQ0U3N1YzRJbVcwRkRFS0VBNW5HS1RIVEYxYnlRZTFJdXMKd3JrdnBiRjVZODBDU0VrUUlnUC9vMHNRSXhsZkRDZjAxdHRlbEVReWl3RjUzdEZraHBOOGgzZHMzNFlqK2ZaSgoxd1UwbDJIbkJtcjVSSnBFekhLTDYwYm9Fb0xzV2t4UWFCMGtSV25zWDVGL2tsQU5sNWJhZUJ4NHV5UjJ1bENRCjVOenFwdmhIbHRZWGV6Ym9GcTZpejBCeUhubWVkcVJqMFlmM0xVa0RyaE5nTkZpUTNmM0FweUt6bVBBL0ZtaHoKZGw4RGlMQlRWbFE5ckVOU3FucDlHOHVNcTNhcXY3TzVaWjJoWUJKZ2cyQ0kzWFQ0NGU4cjQwYTJXY09yNFpQawpOOGdFamVmWHlNVEkyakJYRUwwNUFBZGpBZ01CQUFHalJqQkVNQTRHQTFVZER3RUIvd1FFQXdJQ3BEQVNCZ05WCkhSTUJBZjhFQ0RBR0FRSC9BZ0VBTUIwR0ExVWREZ1FXQkJUcVVpUXkyd1ZRZjJYVENlREtWVC9aS0ZnbjFqQU4KQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBbDZJeTlIVUNlR3BlbEZTMitZZjNhamlCUG5mdmRjbjNpR0dOWnJIbwp3VkEra1RxYno2NHZ1MDc4RzRheUJIa3RxcHFQbU9tTWpldVQ4azRGbXhnVlJjU2MyemRTcllOVHFsanFsTVBMCllHUUJSdkxESEZYNkpGemZROGQvU0dVN1RYY1prMWxld2UxSTA4MjFDTDRwTkVPNmxsKzVoOVdONkFBVGFnUE8KWEZjTW92MU9LMmJ0bXh3di92T011RzRBZTVJUEUzOVNJOWprd0FQcEVBUUlkQnNrUDRuaHZMRzlhQmtIRGk4ZgpLdmRmSHBrWkF3OFhQWUs1TkNNbllHcEVJRFd6eVVzL3pES2Z6WVU4VEUvMi9ZOEJPTjQvbEQ5a1lNbUVXOEF2CmJ5alA0TDFZVTFGbmswRnR6cy9yYUpZaTdCOUorbHdqV3JEbkFaUjA5T21FMHc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==

users:
- name: my-user
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJVnFqTDk3K3dIZnd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TXpBNE1qY3hOVEV6TkROYUZ3MHlOREE0TWpjeE5URXpORE5hTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXRBTFlWZDN4WElCSnFsaG8KWEthVWlyRHozR2xVeUZEelFQOGNEL2lSQk9ReWxoTFc1Z0ZWSytVL1J0WHdtYkxFUW9Tb3dIZWR3Q0h1a3pYLwpZdUpNdnAxUUxIdWYybnlBd3lxbW1JcWJzQXZhU29ialRaYVMxR0NPanNJV1d6UVJweU1WYmZ1NXBuUmpUM0ZLCmM0dnBYd2p5SmlNR1d6b0hPZk45V3hNUHRScUtVRzBLYmlEWmpBd0Q1QUZ4czlrQk0zQ1ZvWlNlU3R3STZpVVEKTGUvVGxMR0NjbUI0ZGhUanBLTkRPdGZMMFhXRjEwU1FMcXRxVTJqR3Vxa3laZmhGUzRCQVpjc0U3RWJUckZEawo1Z0RDMDI1c3ZaekxITlFtNXlDc2h6WkFrQ0hveG5BdmErR0I3WDBJNjVOSU9yeXdzNFpObGZtQU1JZGdsUkxtCnBlV0RId0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JUcVVpUXkyd1ZRZjJYVENlREtWVC9aS0ZnbgoxakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBRDUzbkpzUFFFNmxQRVJ1UXVlajUwd09jcGdDdlF2RkdCM05XCnFrc3p5cDRuVHdoWUVDU24xYVo2VGZ2TkgxRFRiQnM1NkJjcFZCekRlN0RoY3lBMDVyWEZEbkZIQzczbndLN3oKV1UzNGdBTHlqYWs2UStWcG9HL3l1dFZ1djhycUk1M3B0LytNZVYwMGdvMDR2ZmptckpPY3pzaWE4RWdiMkN3RgpidU5rRElJU3UxdHB1eVVoZy9YS2ozejRQREl2cFdRQjZFb2xDWm5kWWZOQWFVMUZQUGxJcnZFVkNwbXd5WS8rCnR2UjVwU0ZtZE5IVzNLSUY3OTcwdFMya1VnZksybE1OTmN0QUFldnA2WVN3TWlTSXA5L1RlNzZVWExpbWFYYW4KTlU2TlZ2L081L1FyUWRGUWN3aVNibEZSTW5Eb1g1UkxLc3hHbW13QitVM2FoNDlHd2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdEFMWVZkM3hYSUJKcWxob1hLYVVpckR6M0dsVXlGRHpRUDhjRC9pUkJPUXlsaExXCjVnRlZLK1UvUnRYd21iTEVRb1Nvd0hlZHdDSHVrelhvWXVKTXZwMVFMSHVmMm55QXd5cW1tSXFic0F2YVNvYmoKVFphUzFHQ09qc0lXV3pRUnB5TVZiZnU1cG5SelQzRktjNHZwWHdqeUppTUdXem9IT2ZOOVd4TVB0UnFLVUcwSwpiaURaakF3RDVBRnhzOWtCTTNDVm9aU2VTdHdJNmlVUUxlL1RsTEdDY21CNGRoVGpwS05ET3RmTDBYV0YxMFNRCkxxdHFVMmpHdXFreVpmaEZTNEJBWmNzRTdFYlRyRkRrNWdEQzAyNXN2WnpMSE5RbTV5Q3NoelpBa0NIb3huQXYKYStHQjdYMEk2NU5JT3J5d3M0Wk5sZm1BTUlkZ2xSTG1wZVdESHdJREFRQUJBb0lCQUFMVm5VUjN1L1lGbGIxcwpacytSb1lTMUtMd0VuQk45RFFwSHFrNWVMSjc5QTE0ZC9QakltZHJvY3VzMDJjUG1Nd0V0MGI4T2V6WG4wK0Y4CkZzOEdtdnkvSkVpcm9lOTJidFlWdjIwTUR1MnFpbzI5aVFRV1VpZkRUQlZvYjN2UnlwQUpmTzZwTnRrc3hCWGUKZzdvWWpTUHBLeWlaVnZRVVlWbUhBSHNlSFRkRDd6d0hHTXJjWmFmZkZ5SndFY2tnQStaU25VQUJFYm9aMHBMeApoanAyZWhTeGlWNjhINXQrMTZMUnl2ZUxjZVNuMm1KM0xnbzRBNG9QNm1IMUtmZE1QZGh4OEZzRWxhSTUwUmR6CnFKSjJIQlhrTDBmZzdDd0xHMjI1VVNrOFUxeDJZQUlraERtWUFUWTZKRFZEcEdlcmVFaG4rV1I4TkFoYWN6bGcKbzYrRWFJRUNnWUVBeWtUNG9GV1dpTWxyTHQrMlJVMFlwZGZRMkwzUWVmTVlHeVhVdXJUNzVmcEx5SEV2UDZDeQptdHdoL0N2ZVpyZWUvTlVuc3EvSFQ3WnVFdzhYa0h2SGw0UVM3U0licUVvOGY4RjVON1Q3TjluSVphMjEwN0hRClM4UThWVjRpbXduWk43dWx4VlM1ak02eDRCZlpTa1ZsTFFrdllnZldBbUVYdEZLeDJBM3BLcUVDZ1lFQTVIb1cKNm5waTFwMTRyeDFBK05ScGtZcjFnZ1FZaFBrRnRyZk5kVm0zZUNqRjg2WXl3R2FxQkw4QTlXM3h0WURHajR6UgpoU2ZoV3VxOG5QbHZtdEtVUTVGeVZoRnowU1RMVjR1dzY3MDJDRnhoeDJZMmZUVk52UndIN1k5d1h0RkJ2MnM0CjR6eWhRWXhuczI1V2ZDNlhOTXpNdElPN242RnFUb1lrbXl1YWlWOENnWUFheDhXTGtZNlBITUlLWlFLTW9QRTgKVzNkSkQwNWtxV28zNmVqQ2Z1MzI5V0FSRUZlcmhOTEEzVTRTbWROWklxdlYrcFN0Nk9kNUpnb0VqWFhWSGg2bwpKdW51OWtLTjdDTzZMTnY4cVFZTDR0UGVvUlhTcC9VZlhnS2Y4NUsrRWVoK0ZFQzU1MXkzS0RLVGcrV2RKSXVuCnR5ZkNUOXFuNG5vWHpMMGJ2Wm5pWVFLQmdRRE1MTlJMeHpQVGVxVHZHcVQ4QnZrZGFmNHE2TXQxbzBoeDVQVUsKYmI1S3puTHhPdHRWbGJsY29uTkNNWDBlNU9JajFaRzQxWW5XNlcwRUpQL3BSV2Y4dzAwY2x2MzZiUVNJWGQ2RwpTRVlGR2RtRC9WbTBtYmFQbVZsRS9PSy90aVl1cUVGbkF1L2pmVWlNL3k4cHNLc0l6TC9tdGFTU2ZVZnlFTFdZCnNqYXd2UUtCZ0R6OG9vemIrSUYxOTNYYzhvNk9MamxQMjhYUHZrUjBZK2xXMEtQM2hPR0hkN2I2MFVUSEc1MjgKR0Z0NXdiMCtoQXJlU3djK1pnTkJIMUdVMXJUZWpRM0ExYTNxdEpBS2JsYWtHbWZyZFRRNXBLMW9HbDlaV2JuaQpydlZwdVg5TTZDcTVsTnk0cXlTU1lQWmxvTDZzQjZKK0huT1FodVhPZkhiRWc2UUFqb2h0Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

contexts:
- name: my-context
  context:
    cluster: my-cluster
    user: my-user

current-context: my-context

2.处理

接下来我们在当前目录下跑命令(以下所有操作,该备份的记得备份哦):

export KUBECONFIG=$(ls /root/.kubehebing/* | tr '\n' ':')

这个命令会列出 /root/.kubehebing/ 目录下的所有文件,并用冒号连接它们,符合 KUBECONFIG 的格式要求。

3.放入

mv /root/.kube/config /root/.kube/config.bak
kubectl config view --flatten > /root/.kube/config

备份原配置,并将所有的配置文件完整展开并合成了一个配置,替代原配置。

4.验证

用kubectx管理所有配置

随便选一个环境 kubectx 配置名

获取所有node

kubectl get nodes -A

验证完成。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区