Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

3.9. 컨트롤러 역할 확인

OpenShift Container Platform 컨트롤러 서비스는 모든 마스터 호스트에서 사용할 수 있습니다. 이 서비스는 활성/수동 모드에서 실행됩니다. 즉, 한 번에 하나의 마스터에서만 실행되어야 합니다.

OpenShift Container Platform 컨트롤러에서는 서비스를 실행할 호스트를 선택하는 프로시저를 실행합니다. 현재 실행 중인 값은 kube-system 프로젝트에 저장된 특수 configMa의 주석에 저장됩니다.

컨트롤러 서비스를 cluster-admin 사용자로 실행하는 마스터 호스트를 확인하십시오.

$ oc get -n kube-system cm openshift-master-controllers -o yaml
apiVersion: v1
kind: ConfigMap
metadata:
  annotations:
    control-plane.alpha.kubernetes.io/leader: '{"holderIdentity":"master-ose-master-0.example.com-10.19.115.212-dnwrtcl4","leaseDurationSeconds":15,"acquireTime":"2018-02-17T18:16:54Z","renewTime":"2018-02-19T13:50:33Z","leaderTransitions":16}'
  creationTimestamp: 2018-02-02T10:30:04Z
  name: openshift-master-controllers
  namespace: kube-system
  resourceVersion: "17349662"
  selfLink: /api/v1/namespaces/kube-system/configmaps/openshift-master-controllers
  uid: 08636843-0804-11e8-8580-fa163eb934f0

이 명령은 holderIdentity 속성 내에서 control-plane.alpha.kubernetes.io/leader 주석으로 현재 마스터 컨트롤러를 다음과 같이 출력합니다.

master-<hostname>-<ip>-<8_random_characters>

다음 명령으로 출력을 필터링하여 마스터 호스트의 호스트 이름을 찾으십시오.

$ oc get -n kube-system cm openshift-master-controllers -o json | jq -r '.metadata.annotations[] | fromjson.holderIdentity | match("^master-(.*)-[0-9.]*-[0-9a-z]{8}$") | .captures[0].string'
ose-master-0.example.com