配置云主机连接到阿里云K8s
配置云主机连接到阿里云K8s
阿里云生产环境的Jenkins在构建完成镜像, 发布服务到K8s集群的过程中报错error: You must be logged in to the server
, 记录下重新配置授权的过程
1 | sed -i '/image:/s/v\([0-9].*\)/v10/' /home/hkzc_k8s_jiqun/yaml/pro-owner-scms-server.yaml |
预准备——检查是否安装kubectl
在Shell中运行kubectl version
命令, 检查工具是否安装, 如果没有, 参考在 Linux 系统中安装并设置 kubectl | Kubernetes
阿里云的配置
完整文档可以参考通过kubectl连接Kubernetes集群
按照官网文档说明, K8s集群的连接有公网和私网两种连接方式, 我们Jenkins
所在的ECS和K8s集群在同一个VPC内, 所以这里选择私网的连接方式
ACK Serverless集群提供了两种集群凭证(即KubeConfig), 分别用于公网访问和私网访问
登录容器服务管理控制台, 在左侧导航栏选择集群
在集群列表页面, 单击目标集群名称, 然后在左侧导航栏, 选择集群信息
在集群信息页面, 单击连接信息页签, 根据需要选择公网或私网访问凭证
复制KubeConfig
中的信息, 将其中的内容覆盖到$HOME/.kube/config
文件里面
1 | cd $HOME/.kube/ |
配置完成后, 验证配置
1 | kubectl get namespace |
使用自定义的content
在Jenkins
构建脚本中发布镜像到K8s集群的时候, 使用了自定义的content
名称, 直接复制阿里云的配置文件后需要修改集群名称, 不然会遇到报错
1 | /usr/local/bin/kubectl config use-context kubernetes-hkzc |
还是修改$HOME/.kube/config
文件, 修改name
和current-content
, 修改成kubernetes-hkzc
即可