25장. Kubernetes NMState
25.1. Kubernetes NMState Operator 정보
Kubernetes NMState Operator는 OpenShift Container Platform 클러스터 노드에서 NMState를 사용하여 상태 중심 네트워크 구성을 수행하는 데 필요한 Kubernetes API를 제공합니다. Kubernetes NMState Operator는 사용자에게 클러스터 노드에서 다양한 네트워크 인터페이스 유형, DNS 및 라우팅을 구성하는 기능을 제공합니다. 또한 클러스터 노드의 데몬은 각 노드의 네트워크 인터페이스 상태를 API 서버에 정기적으로 보고합니다.
Red Hat은 베어메탈, IBM Power, IBM Z 및 LinuxONE 설치의 프로덕션 환경에서 Kubernetes NMState Operator를 지원합니다.
OpenShift Container Platform과 함께 NMState를 사용하기 전에 Kubernetes NMState Operator를 설치해야 합니다.
25.1.1. Kubernetes NMState Operator 설치
웹 콘솔 또는 CLI를 사용하여 Kubernetes NMState Operator를 설치할 수 있습니다.
25.1.1.1. 웹 콘솔을 사용하여 Kubernetes NMState Operator 설치
웹 콘솔을 사용하여 Kubernetes NMState Operator를 설치할 수 있습니다. Operator가 설치되면 NMState State Controller를 모든 클러스터 노드에 데몬 세트로 배포할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 사용자로 로그인했습니다.
프로세스
-
Operators
OperatorHub를 선택합니다. -
모든 항목 아래의 검색 필드에
nmstate
를 입력하고 Enter를 클릭하여 Kubernetes NMState Operator를 검색합니다. - Kubernetes NMState Operator 검색 결과를 클릭합니다.
- 설치를 클릭하여 Operator 설치 창을 엽니다.
- 설치를 클릭하여 Operator를 설치합니다.
- Operator 설치가 완료되면 Operator 보기를 클릭합니다.
-
제공된 API 아래에서 인스턴스 생성을 클릭하여
kubernetes-nmstate
의 인스턴스 생성을 위해 대화 상자를 엽니다. 대화 상자의 이름 필드에서 인스턴스 이름이
nmstate
인지 확인합니다.참고이름 제한은 알려진 문제입니다. 인스턴스는 전체 클러스터에 대한 단일 생성입니다.
- 기본 설정을 수락하고 만들기를 클릭하여 인스턴스를 만듭니다.
요약
완료되면 Operator가 NMState State Controller를 모든 클러스터 노드에 데몬 세트로 배포했습니다.
25.1.1.2. CLI를 사용하여 Kubernetes NMState Operator 설치
oc(OpenShift CLI)
를 사용하여 Kubernetes NMState Operator를 설치할 수 있습니다. Operator가 설치되면 NMState State Controller를 모든 클러스터 노드에 데몬 세트로 배포할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
cluster-admin
권한이 있는 사용자로 로그인했습니다.
프로세스
nmstate
Operator 네임스페이스를 생성합니다.$ cat << EOF | oc apply -f - apiVersion: v1 kind: Namespace metadata: labels: kubernetes.io/metadata.name: openshift-nmstate name: openshift-nmstate name: openshift-nmstate spec: finalizers: - kubernetes EOF
OperatorGroup
을 생성합니다.$ cat << EOF | oc apply -f - apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: annotations: olm.providedAPIs: NMState.v1.nmstate.io generateName: openshift-nmstate- name: openshift-nmstate-tn6k8 namespace: openshift-nmstate spec: targetNamespaces: - openshift-nmstate EOF
nmstate
Operator를 서브스크립션합니다.$ cat << EOF| oc apply -f - apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: labels: operators.coreos.com/kubernetes-nmstate-operator.openshift-nmstate: "" name: kubernetes-nmstate-operator namespace: openshift-nmstate spec: channel: stable installPlanApproval: Automatic name: kubernetes-nmstate-operator source: redhat-operators sourceNamespace: openshift-marketplace EOF
nmstate
Operator의 인스턴스를 생성합니다.$ cat << EOF | oc apply -f - apiVersion: nmstate.io/v1 kind: NMState metadata: name: nmstate EOF
검증
nmstate
Operator의 배포가 실행 중인지 확인합니다.oc get clusterserviceversion -n openshift-nmstate \ -o custom-columns=Name:.metadata.name,Phase:.status.phase
출력 예
Name Phase kubernetes-nmstate-operator.4.11.0-202208120157 Succeeded