44장. 기능 게이트를 사용하여 기능 비활성화
관리자는 Feature Gate를 사용하여 특정 노드 또는 전체 플랫폼에 대한 특정 기능을 비활성화할 수 있습니다.
예를 들어 프로덕션 클러스터에 대한 새 기능을 끄고 완전히 테스트할 수 있는 테스트 클러스터에 대한 기능을 그대로 유지할 수 있습니다.
웹 콘솔에 표시되는 기능을 비활성화하면 해당 기능이 표시되지만 오브젝트는 나열되지 않습니다. 비활성화된 기능과 관련된 명령을 사용하려고 하면 OpenShift Container Platform에 오류가 표시됩니다.
클러스터의 모든 애플리케이션이 사용하는 기능을 비활성화하면 비활성화된 기능 및 애플리케이션에서 해당 기능을 사용하는 방법에 따라 애플리케이션이 제대로 작동하지 않을 수 있습니다.
기능 게이트는 마스터 구성 파일(/etc/origin/master/master-config.yaml)에서 key=value
쌍을 사용하고 차단하려는 기능을 설명하는 및 노드 구성 파일을 사용합니다.
노드 구성 파일을 수정하려면 필요에 따라 노드 구성 맵을 업데이트합니다. node-config.yaml
파일을 수동으로 편집하지 마십시오.
예를 들어 다음 코드는 Huge Pages 기능을 비활성화합니다.
kubernetesMasterConfig: apiServerArguments: feature-gates: - HugePages=false 1 ... controllerArguments: feature-gates: - HugePages=false 2
쉼표로 구분된 한 줄로 여러 개의 기능 게이트를 지정합니다.
kubeletArguments: feature-gates: - RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true,ExpandPersistentVolumes=true,HugePages=false
44.1. 클러스터의 기능 비활성화
전체 클러스터에 대한 기능을 해제하려면 기본적으로 /etc/origin/master/master-config.yaml에 따라 마스터 구성 파일을 편집합니다.
해제하려는 기능에 대해
apiServerArguments 및
아래에controllerArguments
<feature_name>=false
를 입력합니다.예를 들면 다음과 같습니다.
kubernetesMasterConfig: apiServerArguments: feature-gates: - HugePages=false controllerArguments: feature-gates: - HugePages=false
쉼표로 구분된 한 줄로 여러 개의 기능 게이트를 지정합니다.
kubernetesMasterConfig: apiServerArguments: feature-gates: - RotateKubeletClientCertificate=false,RotateKubeletServerCertificate=false,ExpandPersistentVolumes=true,HugePages=false controllerArguments: feature-gates: - RotateKubeletClientCertificate=false,RotateKubeletServerCertificate=false,ExpandPersistentVolumes=true,HugePages=false
OpenShift Container Platform 마스터 서비스를 다시 시작하여 변경 사항을 적용합니다.
# master-restart api # master-restart controllers
비활성화된 기능을 다시 사용하려면 마스터 구성 파일을 편집하여 <feature_name>=false
를 제거하고 마스터 서비스를 다시 시작합니다.