使用kubectl config控制多个k8s集群

使用kubectl config控制多个k8s集群

在pipeline中的CD环节,有时候需要部署到不同的K8S集群,比如开发环境、测试环境、生产环境。此时可以使用kubectl config来进行多个集群的管理。

  • 开发环境集群
  • 生产环境集群
    为了方便,我们使用Jenkins本机作为agent来配置两个K8S集群的认证文件,达到可以在本机上操作两个集群的目的。

scp root@192.168.2.29:/etc/kubernetes/admin.conf ~/.kube/config-work-prod
scp root@10.61.150.19:/etc/kubernetes/admin.conf ~/.kube/config-work-dev

我们已经完成了配置的拷贝,但是为了便于管理,我们需要对这些配置中的命名进行修改规范;我们要修改这两个配置文件,并着重关注三大要素:集群、上下文、用户;

1. 修改集群名称

2. 修改用户名称

3. 更新上下文名称,关联对应用户及集群

#dev
- context:
    cluster: work-dev-cluster
    user: work-dev-admin
  name: kubernetes-dev

#prod
- context:
    cluster: work-prod-cluster
    user: work-dev-admin
  name: kubernetes-prod

4. 将修改好的配置文件写入环境变量

vim ~/.bash_profile
export KUBECONFIG=$HOME/.kube/config-work-dev:$HOME/.kube/config-work-prod
source ~/.bash_profile
echo $KUBECONFIG
kubectl config get-contexts

CURRENT   NAME              CLUSTER            AUTHINFO           NAMESPACE
          kubernetes-dev    work-dev-cluster   work-dev-admin
          kubernetes-prod   kubernetes         kubernetes-admin

5. 或取全局上下文

kubectl config get-contexts

6. 获取当前K8S上下文

kubectl config current-context

7. 切换当前上下文

kubectl config use-context kubernetes-dev

8. kubectl config 命令见帮助信息

current-context 显示 current_context
delete-cluster 删除 kubeconfig 文件中指定的集群
delete-context 删除 kubeconfig 文件中指定的 context
get-clusters 显示 kubeconfig 文件中定义的集群
get-contexts 描述一个或多个 contexts
rename-context Renames a context from the kubeconfig file.
set 设置 kubeconfig 文件中的一个单个值
set-cluster 设置 kubeconfig 文件中的一个集群条目
set-context 设置 kubeconfig 文件中的一个 context 条目
set-credentials 设置 kubeconfig 文件中的一个用户条目
unset 取消设置 kubeconfig 文件中的一个单个值
use-context 设置 kubeconfig 文件中的当前上下文
view 显示合并的 kubeconfig 配置或一个指定的 kubeconfig 文件

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装 Kubernetes(k8s集群在 Ubuntu 上可以分为几个步骤: 1. 确保你的 Ubuntu 系统已经更新到最新版本,并且具备以下硬件要求: - 64-bit CPU - 至少 2GB 内存(推荐 4GB 或以上) - 至少 20GB 可用磁盘空间 - 具备 root 权限或者 sudo 权限 2. 安装 Docker: ```shell $ sudo apt-get update $ sudo apt-get install docker.io ``` 3. 配置 Docker 镜像加速(可选): ```shell $ sudo mkdir -p /etc/docker $ sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": ["https://your-mirror.example.com"] } EOF $ sudo systemctl daemon-reload $ sudo systemctl restart docker ``` 4. 安装 kubeadm、kubelet 和 kubectl: ```shell $ sudo apt-get update && sudo apt-get install -y apt-transport-https curl $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - $ echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list $ sudo apt-get update $ sudo apt-get install -y kubelet kubeadm kubectl $ sudo apt-mark hold kubelet kubeadm kubectl ``` 5. 初始化 kubeadm: ```shell $ sudo kubeadm init ``` 6. 按照初始化的输出信息,设置 kubeconfig 文件和普通用户的访问权限: ```shell $ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 7. 安装网络插件(例如 Flannel): ```shell $ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 8. 等待一段时间,直到所有的 Kubernetes 组件都启动成功: ```shell $ kubectl get pods --all-namespaces ``` 这样,你就成功在 Ubuntu 上安装了一个基本的 Kubernetes 集群。你可以继续添加更多的节点,或者部署应用程序到集群中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值