更新时间:2024-10-25 GMT+08:00

本地集群KubeConfig文件

获取本地集群KubeConfig文件

KubeConfig是Kubernetes集群中组织有关集群、用户、命名空间和身份认证机制信息的配置文件,Kubectl使用KubeConfig来获取集群的信息并与API server进行通信。

获取本地集群的KubeConfig需要使用ucs-ctl工具,获取步骤如下:

  1. 使用ucs-ctl获取集群名称。

    ./ucs-ctl get cluster

  2. 使用ucs-ctl导出指定集群的KubeConfig。

    ./ucs-ctl get kubeconfig -c test-redhat86 -o kubeconfig

    可以使用ucs-ctl get kubeconfig -h查看获取KubeConfig所使用到的参数。

    • -c, --cluster:指定待导出KubeConfig的集群名。
    • -e, --eip:指定API server的eip。
    • -o, --output:指定KubeConfig导出文件名。

使用本地集群KubeConfig文件

拿到ucs-ctl生成的KubeConfig之后,还需要使KubeConfig在节点上生效,步骤如下:

  1. 复制KubeConfig到节点上。

    scp /local/path/to/kubeconfig user@remote:/remote/path/to/kubeconfig

  2. 如果当前节点添加过EnableSecretEncrypt环境变量,需要先取消。

    unset EnableSecretEncrypt

  3. 使KubeConfig生效,可选方法:

    • 方法一:复制到默认位置。
      mv /remote/path/to/kubeconfig $HOME/.kube/config
    • 方法二:环境变量指定。
      export KUBECONFIG=/remote/path/to/kubeconfig
    • 方法三:命令行参数指定。
      kubectl --kubeconfig=/remote/path/to/kubeconfig

上述操作之后,就可以访问本地集群的API server了。关于KubeConfig更详细的用法可参考:使用kubeconfig文件组织集群访问Kubernetes