阿里云k8s多集群配置及问题解决

  • 为什么要配置多集群

隔离性:不同的业务或团队可能需要独立的环境来开发和运行应用,多集群可以提供环境隔离,确保不同业务或团队之间的互不干扰(以本人目前所在团队为例,由于要满足两个不同的公司开发环境,申请了两个阿里云账号,每个公司对应的阿里云账号运行的应用和环境不同,所以就有两个不同的k8s集群来管理应用程序容器的部署、启动、停止和销毁等操作,实现负载均衡等

可用性:多集群部署可以提高系统的可用性。当某个集群出现故障时,其他集群可以接管服务,确保业务的连续性。

(这里主要列举两个原因,还有其他原因就不一一列出了)

  • 如何配置K8s多集群(这里的config文件即为kubeconfig文件)

1.进入阿里云“容器服务Kubernetes”,进入一个集群(这里是farm-yak),点击连接信息,按照步骤先安装和设置kubectl

2.安装完kubectl,配置kubeconfig文件

打开PowerShell命令行,依次执行以下命令:

kubectl version –client检查kubectl是否为自己所需要的版本

3.进入.kube文件夹里面的config并编辑config文件(注意这里一定是config文件而非config.txt文件,打开编辑时格式是文本格式)

4.添加K8s集群信息

配置cluster集群:

配置context用户名称:

配置上下文名称,关联对应用户及集群:

5.配置完成后保存config文件,执行kubectl cluster-info,检查配置是否妥当(这一步执行后可能会遇到报错显示配置错误,下面会详细介绍)

6.最后,命令行依次执行以下命令切换不同集群:

  • 遇到报错如何解决?
  1. 命令行执行查看目前集群命令行,出现current-context is not set报错

先执行kubectl config view --raw检查所有配置的集群信息,

正确的返回信息应如下:

若显示:

apiVersion: v1

clusters: null

contexts: null

current-context: ""

kind: Config

preferences: {}

users: null

表示config文件配置格式有误导致读取不到config文件,或者电脑根本不存在config文件,这时:

1)查看用户文件夹下的.kube是否存在config文件(而非config.text文件),若不存在可能由于某些原因导致config文件损坏或者被删除,这时需要重新创建kubeconfig文件:

若显示了Mode、LastWriteTime等信息表示创建成功

然后再打开kubeconfig文件进行编辑保存:

2)若确保kubeconfig文件存在,则一一对应查看格式是否有误

2.执行切换集群命令,出现如下报错:

检查kubeconfig文件的context的name名称是否存在,我这里报错找不到该集群是由于我的config文件里配置的name是kubenetes-admin,而正确的name写法应该是kubenetes-admin-c498f5…,修改过来后再执行切换集群命令应该就没问题了。

->

3.执行kubectl cluster-info命令,检测配置是否有误时出现报错:

原因与解决方法与2相似,检查集群名字name是否有误,修改后正确的返回信息会包含url,如下:

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值