이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
Kubernetes 필드 관리
Amazon EKS 추가 기능은 표준 모범 사례 구성을 사용하여 클러스터에 설치됩니다. Amazon EKS 추가 기능을 클러스터에 추가하는 방법에 대한 자세한 내용은 Amazon EKS 추가 기능 섹션을 참조하세요.
고급 기능을 사용하도록 Amazon EKS 추가 기능의 구성을 사용자 지정하려 할 수 있습니다. Amazon EKS는 Kubernetes 서버 측 적용 기능을 사용하여 Amazon EKS가 관리하지 않는 설정에 대한 구성을 덮어쓰지 않고도 Amazon EKS의 추가 기능을 관리할 수 있습니다. 자세한 내용을 알아보려면 Kubernetes 설명서의 서버 측 적용이란?kube-controller-manager
)를 문제 없이 수정할 수 있습니다.
중요
Amazon EKS가 관리하는 필드를 수정하면 Amazon EKS가 추가 기능을 관리할 수 없으며, 추가 기능이 업데이트될 때 변경 내용이 덮어써질 수 있습니다.
필드 관리 상태 보기
kubectl
을 사용하여 Amazon EKS 추가 기능을 위해 Amazon EKS가 관리하는 필드를 볼 수 있습니다.
필드의 관리 상태를 보려면
-
조사할 추가 기능을 확인합니다. 클러스터에 배포된 모든
deployments
및DaemonSets
를 보려면 Kubernetes 리소스 보기 섹션을 참조하세요. -
다음 명령을 실행하여 추가 기능에 대한 관리형 필드를 확인합니다.
kubectl get
type
/add-on-name
-nadd-on-namespace
-o yaml예를 들어 다음 명령을 사용하여 CoreDNS 추가 기능에 대한 관리형 필드를 볼 수 있습니다.
kubectl get deployment/coredns -n kube-system -o yaml
필드 관리는 반환된 출력의 다음 섹션에 나열되어 있습니다.
[...] managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: [...]
참고
출력에
managedFields
가 표시되지 않으면 명령에
를 추가하고 다시 실행합니다. 사용 중인--show-managed-fields
kubectl
버전에 따라 관리형 필드가 기본적으로 반환되는지 여부가 결정됩니다.
Kubernetes API의 필드 관리 구문 이해
Kubernetes 객체에 대한 세부 정보를 볼 때 관리형 및 비관리형 필드 모두 출력에 반환됩니다. 관리형 필드는 다음 유형 중 하나일 수 있습니다.
-
완전관리형(Fully managed) - 필드의 모든 키를 Amazon EKS에서 관리합니다. 어떤 값이든 수정하면 충돌이 발생합니다.
-
부분관리형(Partially managed) - 필드의 일부 키를 Amazon EKS에서 관리합니다. Amazon EKS에서 명시적으로 관리하는 키를 수정하면 충돌이 발생합니다.
두 유형의 필드 모두 manager: eks
를 사용하여 태그가 지정됩니다.
각 키는 항상 빈 세트에 매핑되는 필드 자체를 나타내는 .
이거나, 하위 필드 또는 항목을 나타내는 문자열입니다. 필드 관리에 대한 출력은 다음과 같은 유형의 선언으로 구성됩니다.
-
f:
, 여기서name
은 목록의 필드 이름입니다.name
-
k:
, 여기서keys
는 목록 항목의 필드 맵입니다.keys
-
v:
, 여기서value
는 목록 항목의 정확한 JSON 형식 값입니다.value
-
i:
, 여기서index
는 목록에서 항목의 위치입니다.index
CoreDNS 추가 기능에 대한 다음 출력 부분은 이전 선언을 보여줍니다.
-
완전관리형 필드(Fully managed fields) - 관리형 필드에
f:
(필드)가 지정되고k:
(키)가 지정되지 않은 경우 전체 필드가 관리됩니다. 이 필드의 값을 수정하면 충돌이 발생합니다.다음 출력에서는
coredns
라는 컨테이너가eks
에 의해 관리되는 것을 확인할 수 있습니다.args
,image
및imagePullPolicy
하위 필드도eks
에서 관리합니다. 이러한 필드의 값을 수정하면 충돌이 발생합니다.[...] f:containers: k:{"name":"coredns"}: .: {} f:args: {} f:image: {} f:imagePullPolicy: {} [...] manager: eks [...]
-
부분관리형 필드(Partially managed fields) - 관리형 키에 값이 지정되면 해당 필드에 대해 선언된 키가 관리됩니다. 지정된 키를 수정하면 충돌이 발생합니다.
다음 출력에서는
eks
가name
키로 설정된config-volume
및tmp
볼륨을 관리하는 것을 확인할 수 있습니다.[...] f:volumes: k:{"name":"config-volume"}: .: {} f:configMap: f:items: {} f:name: {} f:name: {} k:{"name":"tmp"}: .: {} f:name: {} [...] manager: eks [...]
-
부분관리형 필드에 키 추가(Adding keys to partially managed fields) - 특정 키 값만 관리되는 경우, 충돌을 일으키지 않고 인수와 같은 추가 키를 필드에 안전하게 추가할 수 있습니다. 다른 키를 추가하는 경우 먼저 필드가 관리되지 않는지 확인합니다. 관리되는 값을 추가하거나 수정하면 충돌이 발생합니다.
다음 출력에서는
name
키와name
필드가 모두 관리되는 것을 알 수 있습니다. 컨테이너 이름을 추가하거나 수정하면 이 관리 키와 충돌이 발생합니다.[...] f:containers: k:{"name":"coredns"}: [...] f:name: {} [...] manager: eks [...]