前言
我的阿里云ACK 也就是k8s之前是2021年创建的,当时的版本是1.18,中间也升级过一次到1.22,但是最近k8s的1.24版本发布之后从docker runtime变到了containerd,所以打算再升级一下,之前的镜像制作和镜像发布包括编写dockerfile等等操作不变。
问题
1、NAT网关IP和Nginx SLB ip问题
NAT网关是ECS里面的Pod能否访问外网的配置,如果没有NAT网关则你不能通过pod访问外网,比如说你的服务里面有个网络爬虫,这时候就需要配置NAT网关
Nginx SLB是你的服务通过ingress让外界能够访问内部资源的配置,也就是说你的应用对应的域名及ip是指向Nginx SLB公网对内访问的资源。
2、Pod拉取个人或者企业私有镜像问题
这个问题也是我升级过程中遇到最大的问题,根据阿里工程师提供的使用免密组件拉取容器镜像文档即可解决。
步骤:(注意:先在控制台看看自己是否安装了aliyun-acr-credential-helper组件)
通过控制台方式设置acr-configuration配置项。
登录容器服务管理控制台。
在控制台左侧导航栏中,单击集群。
在集群列表页面,单击目标集群下的详情。
在集群信息页面左侧导航栏,选择配置管理 > 配置项。
在配置项页面的上方命名空间下拉框中,选择kube-system,然后找到配置项acr-configuration,然后通过以下两种方式配置acr-configuration。
个人:
acr-registry-info: |-
- instanceId: ""
regionId: "cn-hangzhou"
企业:
acr-registry-info: |-
- instanceId: "cri-xxx"
regionId: "cn-hangzhou"
完整的配置,如下:
apiVersion: v1
data:
acr-api-version: "2018-12-01"
acr-registry-info: |-
- instanceId: ""
regionId: "cn-hangzhou"
expiring-threshold: 15m
service-account: default
watch-namespace: all
kind: ConfigMap
metadata:
name: acr-configuration
namespace: kube-system
selfLink: /api/v1/namespaces/kube-system/configmaps/acr-configuration
3、Https证书
cert-manager是一个云原生证书管理开源工具,用于在Kubernetes集群中提供HTTPS证书并自动续期。以下示例介绍了如何使用cert-manager申请免费证书并自动续期。使用cert-manager申请免费的HTTPS证书
4、nacos新版本mysql字段缺失问题
Nacos v2.0.4升级到v2.1.0后mysql数据库字段缺失了,加上即可。
Nacos v2.0.4升级到v2.1.0后启动报如下错误 Unknown column ‘encrypted_data_key‘ in ‘field list‘
总结
升级ACK过程中总会遇到各种各样的问题,还好都解决了,希望对大家有所帮助。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。