如何分发kubernetes配置

如何分发kubernetes配置,kubernetes,Kubernetes,如何在工作节点上分发kube配置文件 只有我的主节点有它(文件在~/.kube/config下),我不确定以编程方式将文件复制到工作节点的正确方法是什么,这样我就可以在所有节点上使用kubectl。您可以使用scp命令将文件从一台机器复制到另一台机器 从主节点为每个工作节点运行以下命令: [user@k8s-master]$ scp ~/.kube/config username@k8s-worker1:~/.kube/config 您可以使用scp命令将文件从一台机器复制到另一台机器 从主节

如何在工作节点上分发kube配置文件


只有我的主节点有它(文件在
~/.kube/config
下),我不确定以编程方式将文件复制到工作节点的正确方法是什么,这样我就可以在所有节点上使用
kubectl

您可以使用scp命令将文件从一台机器复制到另一台机器

从主节点为每个工作节点运行以下命令:

[user@k8s-master]$ scp ~/.kube/config username@k8s-worker1:~/.kube/config

您可以使用scp命令将文件从一台机器复制到另一台机器

从主节点为每个工作节点运行以下命令:

[user@k8s-master]$ scp ~/.kube/config username@k8s-worker1:~/.kube/config

不建议在工作节点上使用~/.kube/config。如果工作节点因易受攻击的pod而受损,则使用此配置可能会危害集群

这就是为什么建议使用堡垒主机和kube上下文

但是,对于非prod环境

你可以这样做

kubectl get no --no-headers | egrep -v "master|controlplane" |  awk '{print $1}' | while read line; do 
    scp -pr ~/.kube/ ${line}:~/.kube; 
done 

如果工作节点上不存在.kube目录,则scp-pr将创建该目录

不建议在工作节点上使用~/.kube/config。如果工作节点因易受攻击的pod而受损,则使用此配置可能会危害集群

这就是为什么建议使用堡垒主机和kube上下文

但是,对于非prod环境

你可以这样做

kubectl get no --no-headers | egrep -v "master|controlplane" |  awk '{print $1}' | while read line; do 
    scp -pr ~/.kube/ ${line}:~/.kube; 
done 

如果工作节点上不存在.kube目录,则scp-pr将创建该目录

是的,我最后使用了
scp
。我想知道是否有一些特定的kubernetes命令允许这样做,作为设置的一部分。希望能够在工作节点上运行
kubectl
是否很常见?我不确定是否应该避免。是的,我最后使用了
scp
。我想知道是否有一些特定的kubernetes命令允许这样做,作为设置的一部分。希望能够在工作节点上运行
kubectl
是否很常见?我不确定是否应该避免它。
kubeconfig
文件基本上是Kubernetes集群的主密钥。注意你想让它传播多少份……说得好,谢谢@Lukman。例如,如果我想在工作节点上进行一些维护,并且我必须在这些节点上运行类似于
kubectl cordon
kubectl drain
,等等的操作,我应该怎么做?您只需要对工作节点进行cordon&drain,而不需要主节点,对吗?然后,您只需要在主节点上运行
kubectl
,它会将您想要的操作定向到特定的工作节点。您不需要在要封锁/排放的工作节点上运行
kubectl
。你甚至可以在地球另一端的本地机器上运行
kubectl
,只要它可以访问集群API。啊,你的意思是我可以从主机上执行
kubectl cordon
之类的操作。对吗?(不仅我可以,而且我应该)是的,没错。
kubeconfig
文件基本上是Kubernetes集群的主密钥。注意你想让它传播多少份……说得好,谢谢@Lukman。例如,如果我想在工作节点上进行一些维护,并且我必须在这些节点上运行类似于
kubectl cordon
kubectl drain
,等等的操作,我应该怎么做?您只需要对工作节点进行cordon&drain,而不需要主节点,对吗?然后,您只需要在主节点上运行
kubectl
,它会将您想要的操作定向到特定的工作节点。您不需要在要封锁/排放的工作节点上运行
kubectl
。你甚至可以在地球另一端的本地机器上运行
kubectl
,只要它可以访问集群API。啊,你的意思是我可以从主机上执行
kubectl cordon
之类的操作。对吗?(不仅我能,而且我应该)是的,没错。