7.18.2.2. RHCOS(Red Hat Enterprise Linux CoreOS) 8에서 hostpath 프로비전 프로그램에 대한 SELinux 구성

HostPathProvisioner 사용자 정의 리소스를 만들기 전에 SELinux를 구성해야 합니다. RHCOS(Red Hat Enterprise Linux CoreOS) 8 작업자에서 SELinux를 구성하려면 각 노드에 MachineConfig 오브젝트를 생성해야 합니다.

사전 요구 사항

  • 각 노드에 hostpath 프로비전 프로그램에서 생성하는 PV(영구 볼륨)에 대한 백업 디렉터리를 생성합니다.

    중요

    RHCOS에서 / 파티션을 읽기 전용이므로 백업 디렉터리는 파일 시스템의 루트 디렉터리에 있으면 안 됩니다. 예를 들어 /var/<directory_name>은 사용할 수 있지만 /< directory_name> 은 사용할 수 없습니다.

절차

  1. MachineConfig 파일을 생성합니다. 예를 들면 다음과 같습니다.

    $ touch machineconfig.yaml
  2. hostpath 프로비전 프로그램으로 PV를 생성할 디렉터리를 포함하도록 파일을 편집합니다. 예를 들면 다음과 같습니다.

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      name: 50-set-selinux-for-hostpath-provisioner
      labels:
        machineconfiguration.openshift.io/role: worker
    spec:
      config:
        ignition:
          version: 3.1.0
        systemd:
          units:
            - contents: |
                [Unit]
                Description=Set SELinux chcon for hostpath provisioner
                Before=kubelet.service
    
                [Service]
                ExecStart=/usr/bin/chcon -Rt container_file_t <backing_directory_path> 1
    
                [Install]
                WantedBy=multi-user.target
              enabled: true
              name: hostpath-provisioner.service
    1
    프로비전 프로그램으로 PV를 생성할 백업 디렉터리를 지정합니다. 이 디렉토리는 파일 시스템의 루트 디렉토리(/)에 있으면 안 됩니다.
  3. MachineConfig 오브젝트를 생성합니다.

    $ oc create -f machineconfig.yaml -n <namespace>