IBM Cloud Docs
문제 해결 Red Hat OpenShift 문제 해결

문제 해결 Red Hat OpenShift 문제 해결

Red Hat® OpenShift® 의 문제 진단 및 해결을 위해 문제 해결 정보를 활용하십시오.

RHEL 구독

구독에 문제점이 발생하면 다음 명령을 사용하여 조회를 실행하십시오.

subscription-manager list --available --all

로드 밸런서

로드 밸런싱이 작동 중인지 확인하려면 bastion 노드에서 다음 명령을 사용하십시오. 결과에 전체 헤더 세트가 있는 경우 로드 밸런싱이 성공한 것입니다.

wget --no-check-certificate https://api.ocp.dallas.ibm.local:6443

Red Hat CoreOS

SSH를 사용하여 노드에 연결할 필요는 없지만, 필요하다면 요새 노드를 통해 연결할 수 있습니다. 다음 예에서는 다음에 표시된 명령을 사용하여 부트스트랩 서버에 연결합니다.

ssh core@192.168.133.9

오류가 발생하면 지문 검사를 사용 안함으로 설정하는 다음 명령을 시도해보십시오.

ssh -o StrictHostKeyChecking=no core@192.168.133.9

이 예는 로그를 보고 읽기 권한을 변경하기 위해 요새 노드에서 제어 평면 노드에 연결하는 방법을 보여줍니다. 디렉토리 이름은 다를 수 있습니다.

ssh -i /root/.ssh/id_rsa core@192.168.133.12
sudo su
chmod 777 /var/log/pods/b2810e842791d83d48a4684295b7cd01/etcd-member/0.log

이 예에서는 가독성 및 로그 구문 분석 기능을 위해 로그를 bastion 노드에 다운로드한 다음 점프 서버 또는 원격 디바이스에 다운로드하는 방법을 보여줍니다. 디렉토리 이름은 다를 수 있습니다.

scp -i /root/.ssh/id_rsa core@192.168.133.10:/var/log/pods/b2810e842791d83d48a4684295b7cd01/etcd-member/0.log 0.log

Red Hat OpenShift

다음과 같이 노드의 목록 및 해당 상태를 가져옵니다.

oc get nodes

kubectl을 사용하는 경우 사용되는 kubeconfig 파일을 판별하는 중에 우선순위가 적용됩니다.

  • 지정된 경우 --kubeconfig 플래그를 사용하십시오.
  • 지정된 경우 KUBECONFIG 환경 변수를 사용하십시오.
  • $HOME/.kube/config 파일을 사용하십시오.

Red Hat OpenShift 설치 프로그램에 의해 생성된 kubeconfig를 환경 변수로 내보내려면 다음 명령을 사용하십시오

export KUBECONFIG=/opt/ocpinstall/auth/kubeconfig

배치 삭제

Terraform 배치에 문제점이 발생하면 다음 명령을 사용하여 배치를 삭제할 수 있습니다.

terraform destroy

자동화를 완료하는 데 있어서 Terraform에 문제가 있는 경우가 있습니다. 이러한 경우에는 vCenter를 사용해 Terraform 상태 파일을 삭제하여 수동으로 배치를 삭제해야 할 수 있습니다.

  1. vCenter에서 ocp 폴더 및 해당 컨텐츠를 제거하십시오.
  2. ocp 리소스 그룹을 제거하십시오.
  3. rm /opt/ocpinstall/installer/upi/vsphere/terraform.tfstate Terraform 상태 파일을 제거하십시오.

이 단계를 마치면 배포 문제를 해결하고 Red Hat OpenShift 플랫폼을 다시 배포할 수 있습니다.

새 Ignition 파일 생성

Ignition 파일은 24시간 동안 유효합니다. 다음 단계를 완료하여 .ign 파일을 생성할 수 있습니다.

  1. 이전 상태, 구성 및 ign 파일을 제거하십시오.

    cd /opt/ocpinstall
    rm -R .openshift_install.log .openshift_install_state.json auth *.ign metadata.json
    
  2. Red Hat OpenShift 복사 yaml에 install-config 백업:

    cp install-config.bak install-config.yaml
    openshift-install create ignition-configs --dir=/opt/ocpinstall/
    
  3. bootstrap.ign을 nginx 홈 폴더에 복사하십시오.

    cp bootstrap.ign /usr/share/nginx/html
    
  4. terraform.tfvars 의 기본 섹션 cat master.ign 과 작업자 섹션 cat worker.ign 을 대체합니다. nano /opt/ocpinstall/installer/upi/vsphere/terraform.tfvars:

    // Ignition config for the control plane machines. You should copy the contents of the master.ign generated by$
    control_plane_ignition = <<END_OF_MASTER_IGNITION
    <replace with new master.ign>
    END_OF_MASTER_IGNITION
    
    // Ignition config for the compute machines. You should copy the contents of the worker.ign generated by the i$
    compute_ignition = <<END_OF_WORKER_IGNITION
    <replace with new worker.ign>
    END_OF_WORKER_IGNITION
    

Red Hat OpenShift 의 스냅샷 찍기

개발 또는 테스트 중에 Red Hat OpenShift 클러스터 VM을 중지했다가 다시 시작할 수 있습니다. 스냅샷을 작성하기 전에 다음을 고려해야 합니다.

Red Hat OpenShift 4.x 클러스터 설치 과정에서, 컨트롤 플레인 노드에서 kubelet 클라이언트 인증서(각 노드 또는 kubelet마다 하나씩)에 대한 인증서 서명 요청(CSR)을 생성하는 데 사용되는 부트스트랩 인증서가 생성됩니다. 이 인증서는 노드에서 각 kubelet을 식별하는 데 사용됩니다. 이 인증서를 취소할 수 없으므로 인증서는 클러스터 설치 후에 24시간의 짧은 만기 시간 동안 작성됩니다. 제어 플레인 노드 이외의 모든 노드에는 취소할 수 없는 서비스 계정 토큰이 있습니다. 부트스트랩 인증서는 클러스터 설치 후 24시간 동안만 유효합니다. 처음 24시간이 지나면 인증서가 30일마다 만료됩니다.

첫 번째 제어 플레인 kubelet는 재작성되기 전에 24시간 동안 지속됩니다. 배치 직후 스냅샷을 작성하는 경우 제어 플레인 kubelet에는 아직 30일 클라이언트 인증서가 없습니다. 그러면 누락된 kubelet 클라이언트 인증서 갱신 창이 나타나고, 클러스터가 백업될 때 부트스트랩 자격 증명을 사용할 수 없기 때문에 클러스터를 사용할 수 없게 됩니다. Red Hat OpenShift 실제로 이 과정을 실행하려면 설치 후 최소 25시간 동안 실행해야 합니다.

배치 후에 배스천 호스트(bastion host)에서 다음 명령을 실행하여 인증서의 유효성을 확인할 수 있습니다.

ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no core@192.168.133.10 -- sudo openssl x509 -text -noout -in /var/lib/kubelet/pki/kubelet-client-current.pem

출력의 인증서 수명을 확인하려면 다음 명령을 실행하십시오.

Warning: Identity file id_rsa_crc not accessible: No such file or directory.
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            6a:73:78:19:f3:1e:8f:0c:a9:51:b8:53:f4:eb:29:8d:49:fa:7e:fd
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = kube-csr-signer_@1573016574
        Validity
            Not Before: Nov  6 08:22:00 2019 GMT
            Not After : Dec  6 04:57:43 2019 GMT

설치 후 클러스터 종료에 대한 자세한 내용은 Red Hat OpenShift 4 클러스터에서 클러스터 VM을 중지하고 다시 시작하도록 설정하기를 참조하십시오.

초기 24시간 인증서 갱신 후, 클러스터 스냅샷은 다음 30일 동안 언제든지 재개할 수 있습니다. 30일 후에는 인증서 유효성으로 인해 클러스터 스냅샷을 사용할 수 없게 됩니다.