You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

kubectl create与apply创建ServiceAccount时字段管理器差异问题

关于kubectl create与apply创建ServiceAccount的字段管理器差异问题

在CAPI集群中,分别使用kubectl create和kubectl apply命令创建如下空ServiceAccount:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: build-robot

使用kubectl create创建后的结果

执行kubectl create后,通过k get sa -oyaml --show-managed-fields查看ServiceAccount的yaml:

apiVersion: v1
items:
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: "2024-01-24T15:11:24Z"
    name: build-robot
    namespace: default
    resourceVersion: "7337504"
    uid: e2414d28-d897-4099-ac5d-699c89835615
  secrets:
  - name: build-robot-token-77p6d 

使用kubectl apply创建后的结果

执行kubectl apply后,通过k get sa -oyaml --show-managed-fields查看结果:

apiVersion: v1
items:
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"build-robot","namespace":"default"}}
    creationTimestamp: "2024-01-24T15:10:55Z"
    managedFields:
    - apiVersion: v1
      fieldsType: FieldsV1
      fieldsV1:
        f:secrets:
          .: {}
          k:{"name":"build-robot-token-8rqgq"}: {}
      manager: kube-controller-manager
      operation: Update
      time: "2024-01-24T15:10:55Z"
    - apiVersion: v1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:kubectl.kubernetes.io/last-applied-configuration: {}
      manager: kubectl-client-side-apply
      operation: Update
      time: "2024-01-24T15:10:55Z"
    name: build-robot
    namespace: default
    resourceVersion: "7337399"
    uid: 0bac2513-844f-4526-b374-3642bdf26838
  secrets:
  - name: build-robot-token-8rqgq 

差异现象

通过kubectl apply创建的ServiceAccount存在由kube-controller-manager管理的secrets字段管理器,而kubectl create创建的ServiceAccount则无此字段管理器。使用Pod进行相同测试时,两种方式仅存在预期内的差异(如last-applied-configuration注解),无此异常现象。

问题原因更新

该现象属于特定Kubernetes版本中的bug,后续版本中使用kubectl apply创建ServiceAccount时,将不会出现kube-controller-manager字段管理器。

内容的提问来源于stack exchange,提问作者subtleseeker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 16:51:27