全部产品
Search
文档中心

容器计算服务 ACS:使用须知及高危风险操作说明

更新时间:Aug 23, 2024

阿里云容器计算服务(简称ACS)提供容器计算服务相关的技术架构以及核心组件的托管服务,对于非托管组件以及运行在ACS集群中的应用,不当操作可能会导致业务故障。为了更好地预估和避免相关的操作风险,在使用容器计算服务ACS前,请认真阅读本文中的建议与注意事项。

使用须知

集群升级相关

请务必通过容器计算服务ACS的集群升级功能升级集群的K8s版本,自行升级K8s版本可能导致ACS集群的稳定性和兼容性问题。

阿里云容器计算服务ACS对集群升级提供以下支持:

  • 提供集群K8s新版本的升级功能。

  • 提供K8s新版本升级的前置检查功能,确保集群当前状态支持升级。

  • 提供K8s新版本的版本说明文档,包括相较于前版本的变化。

  • 提示升级到K8s新版本时因资源变化可能会发生的风险。

您在使用集群升级功能时,请遵循以下建议:

  • 在集群升级前运行前置检查,并根据前置检查结果逐一修复集群升级的阻塞点。

  • 详细阅读K8s新版本的版本说明文档,并根据ACS所提示的升级风险确认集群和业务的状态,自行判断升级风险。

  • 由于集群升级不提供回滚功能,请做好充分的升级计划和预后备案。

  • 根据容器计算服务ACS的版本支持机制,在当前版本的支持周期内及时升级集群K8s版本。更多信息,请参见Kubernetes版本概览及机制

Kubernetes原生配置相关

  • 在YAML模板中请勿使用Kubernetes集群预留的Annotation,否则会造成资源不可用、申请失败、异常等问题。以kubernetes.io/k8s.io/开头的标签为核心组件预留标签。违规示例:pv.kubernetes.io/bind-completed: "yes"。

ACS集群相关

在以下场景中不提供赔付:

  • 为简化集群运维,ACS集群提供部分系统组件托管能力,并在集群的组件开启托管后,负责其部署和维护。由于您误删托管组件依赖的K8s对象资源等其他情况导致业务受损时,ACS不提供赔付。

高危操作

在使用容器计算服务ACS过程中相关功能模块存在高危操作,可能会对业务稳定性造成较大影响。在使用前请认真了解以下高危操作及其影响。

集群相关高危操作

分类

高危操作

影响

恢复方案

API Server

删除API Server所使用的SLB。

导致集群不可操作。

不可恢复,请重新创建集群。

其他

通过RAM执行权限变更或修改操作。

集群部分资源如负载均衡可能无法创建成功。

恢复原先权限。

网络与负载均衡相关高危操作

高危操作

影响

恢复方案

修改或者删除ACS添加的SLB的标签。

导致SLB异常。

恢复SLB的标签。

通过负载均衡控制台修改ACS管理的SLB的配置,包括SLB、监听及虚拟服务器组。

导致SLB异常。

恢复SLB的配置。

移除Service中复用已有SLB的Annotation,即service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: ${YOUR_LB_ID}

导致SLB异常。

在Service中添加复用已有SLB的Annotation。

说明

复用已有SLB的Service无法直接修改为使用自动创建SLB的Service。您需要重新创建Service。

通过负载均衡控制台删除ACS创建的SLB。

可能导致集群网络异常。

通过删除Service的方式删除SLB。删除Service请参见删除Service

在安装Nginx Ingress Controller组件的情况下手动删除 kube-system命名空间下的nginx-ingress-lb Service。

Ingress Controller工作不正常,严重时产生崩溃。

使用以下YAML新建一个同名Service。

apiVersion: v1
kind: Service
metadata:
  annotations:
  labels:
    app: nginx-ingress-lb
  name: nginx-ingress-lb
  namespace: kube-system
spec:
  externalTrafficPolicy: Local
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: ingress-nginx
  type: LoadBalancer

存储相关高危操作

高危操作

影响

恢复方案

控制台手动解挂云盘。

Pod写入报IO Error。

重启Pod。

多个Pod挂载相同云盘。

Pod写入本地磁盘或者报错IO Error。

确保一个云盘给一个Pod使用。

重要

云盘为阿里云存储团队提供的非共享存储,只能同时被一个Pod挂载。

手动删除NAS挂载目录。

Pod写入报IO Error。

重启Pod。

日志相关高危操作

高危操作

影响

恢复方案

删除aliyunlogconfig CRD资源。

日志采集失效。

重新创建删除的CRD以及对应的资源,但失效期间日志无法恢复。

删除CRD会关联删除对应所有的实例,即使恢复CRD后还需要手动创建被删除的实例。

删除日志组件。

日志采集失效。

重新安装日志组件并手动恢复aliyunlogconfig CRD实例,删除期间日志无法恢复。

删除日志组件相当于删除aliyunlogconfig CRD以及日志采集器Logtail,期间日志采集能力全部丢失。