실행 전 검사 이해

이 페이지는 인프라 운영자 또는 플랫폼 관리자를 위해 작성되었습니다.

Anthos 비공개 모드에서 다음과 같은 다양한 상황에서 실행 전 검사를 실행할 수 있습니다.

  • Anthos 비공개 모드는 actl을 사용하여 관리자 또는 사용자 클러스터와 노드 풀 리소스를 만들거나 업데이트할 때 실행 전 검사를 실행합니다. 검사에 실패하면 아무것도 변경되지 않습니다. 이러한 검사를 우회할 수도 있습니다.
  • 또한 Anthos 비공개 모드는 관리자 클러스터의 사용자 클러스터에 Kubernetes 리소스를 적용할 때 실행 전 내부 검사도 수행합니다. 검사는 변경사항이 영향을 받는 사용자 클러스터에 실제로 적용되기 전에 실행됩니다. 검사에 실패하면 아무것도 변경되지 않습니다. 이러한 검사를 우회하거나 명시적으로 실행할 수도 있습니다.

actl을 사용하여 클러스터를 만들 때 실행 전 검사

actl 명령어로 관리자 또는 사용자 클러스터를 만들 때 Anthos 비공개 모드는 항목이 변경되기 전 실행 전 검사를 자동으로 실행합니다.

검사가 통과하면 Anthos 비공개 모드가 클러스터를 만듭니다.

자동화된 실행 전 검사의 결과 무시

이러한 자동화된 실행 전 점검을 우회하려는 경우 명령어에서 --force 플래그 옵션을 사용합니다.

실행 전 검사 독립적으로 실행

클러스터를 만들기 전에 실행 전 검사를 자체적으로 실행할 수도 있습니다. 이를 통해 머신 및 노드 리소스가 검사를 통과하도록 하면 시간을 절약할 수 있습니다.

다음 명령어는 머신 및 네트워크가 클러스터를 만들 준비가 되었는지 확인합니다.

actl clusters baremetal check preflight CLUSTER_NAME

사용자 클러스터 생성을 위한 실행 전 검사

기존 관리자 클러스터에서 사용자 클러스터가 생성됩니다. Anthos 비공개 모드는 항목이 변경되기 전 실행 전 검사를 자동으로 실행합니다. 또한 클러스터를 만들기 전 kubectl로 실행 전 검사를 수행할 수 있습니다.

  1. 샘플 사용자 구성 파일에 따라 사용자 클러스터 구성 파일을 만듭니다.

  2. 새 사용자 클러스터의 네임스페이스를 만듭니다. 예를 들어 user1이라는 새 사용자 클러스터를 만들려면 cluster-user1이라는 네임스페이스를 만들면 됩니다. 다음은 네임스페이스를 만드는 kubectl 명령어입니다. 여기서 ADMIN_KUBECONFIG는 관리자 클러스터 kubeconfig 파일의 경로를 지정합니다.

    kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
    

  3. SSH 비공개 키 파일을 새 네임스페이스에 보안 비밀로 업로드하여 사용자 인증 정보를 설정합니다. 다음은 샘플 명령어입니다. 여기서 ADMIN_KUBECONFIG는 관리자 클러스터 kubeconfig 파일의 경로를 지정하고 SSH_PRIVATE_KEY_FILE_PATH는 SSH 비공개 키 파일의 경로를 지정합니다.

    kubectl --kubeconfig ADMIN_KUBECONFIG create secret generic ssh-key -n cluster-user1 --from-file=id_rsa=SSH_PRIVATE_KEY_FILE_PATH
    

  4. 다음 구조를 사용하여 새로운 실행 전 검사 YAML 파일을 만듭니다. 1단계에서 만든 사용자 클러스터 구성 파일의 텍스트 콘텐츠를 configYAML 필드에 입력합니다.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: PreflightCheck
    metadata:
    generateName: preflightcheck-
    namespace: cluster-user1
    spec:
    configYAML: |
    # insert user cluster config file content here.
    
  5. 다음 kubectl 명령어는 사용자 클러스터에 대해 실행 전 검사를 실행합니다. 여기에서 ADMIN_KUBECONFIG는 관리자 클러스터 kubeconfig 파일의 경로를 지정하고 USER_CLUSTER_PREFLIGHT_CHECK_CONFIG는 이전 단계에서 만든 실행 전 검사 YAML 파일의 경로를 실행합니다.

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
    
    예를 들어 user1-preflight.yaml이라는 사용자 클러스터 실행 전 검사를 위한 명령어는 다음과 같습니다.
    kubectl --kubeconfig ADMIN_KUBECONFIG create -f user1-preflight.yaml
    
    시스템에서 실행 전 검사 항목의 작업 ID와 함께 다음 메시지를 반환합니다.
    preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created

  6. kubectl 명령어를 사용하여 실행 전 검사 작업 상태를 쿼리합니다.

    kubectl --kubeconfig ADMIN_KUBECONFIG -n cluster-user1 get preflightchecks preflightcheck-g7hfo4
    

실행 전 검사 작업이 실패하면 작업 상태와 자세한 작업 로그를 확인하여 어떤 검사가 실패했는지 확인합니다. 작업에 언급된 문제를 수정하고 검사를 다시 실행합니다.

기존 클러스터의 실행 전 내부 검사

Anthos 비공개 모드는 또한 기존 관리자 클러스터에 Cluster Kubernetes 리소스를 적용할 때 내부 실행 전 검사를 수행합니다. 검사가 실패하면 특별히 검사를 우회하지 않는 한 Anthos 비공개 모드가 관련 노드를 변경하지 않습니다.

Kubernetes 리소스 적용 시 실행 전 검사 우회

기존 관리자 클러스터에 Cluster 리소스를 적용할 때 내부의 실행 전 검사를 무시하려면 클러스터 리소스에서 BypassPreflightCheck 필드를 true로 설정해야 합니다.

다음은 true로 설정된 bypassPreflightCheck 필드를 보여주는 클러스터 구성 YAML 파일의 조각입니다.

# Sample cluster config to bypass preflight check errors:

apiVersion: v1
kind: Namespace
metadata:
  name: cluster-user1
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: user1
  namespace: cluster-user1
spec:
  type: user
  bypassPreflightCheck: true
  # Anthos cluster version.
  anthosBareMetalVersion: 1.9.3
....

실행 전 검사 다시 사용 설정

실행 전 검사가 완료된 후 Anthos 비공개 모드가 업데이트되거나 새 클러스터를 만들 수 있도록 실행 전 검사를 명시적으로 다시 실행할 수 있습니다.

  1. 다음 콘텐츠를 사용하여 새로운 실행 전 검사 YAML 파일을 만듭니다. namespaceclusterName 필드에 만들려는 클러스터 이름을 입력합니다.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: PreflightCheck
    metadata:
    generateName: preflightcheck-
    namespace: CLUSTER_NAMESPACE
    spec:
    clusterName: CLUSTER_NAME
    

  2. kubectl 명령어를 내려서 클러스터의 실행 전 검사를 실행합니다. 여기서 ADMIN_KUBECONFIG는 관리자 클러스터 kubeconfig 파일의 경로를 지정하고 CLUSTER_PREFLIGHT_CHECK_CONFIG는 이전에 만든 실행 전 검사 YAML 파일의 경로를 지정합니다.

    kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
    
    예를 들어 user1-preflight.yaml이라는 사용자 클러스터 실행 전 검사를 위한 명령어는 다음과 같습니다.
    kubectl --kubeconfig ADMIN_KUBECONFIG create -f user1-preflight.yaml
    
    시스템은 실행 전 검사 항목의 작업 ID로 응답합니다.
    preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
    

  3. kubectl 명령어를 사용하여 실행 전 검사 작업 상태 ID를 쿼리합니다.

    kubectl --kubeconfig ADMIN_KUBECONFIG -n cluster-cluster1 get preflightchecks preflightcheck-g7hfo4
    

실행 전 검사 작업이 성공적으로 완료되면 Anthos 비공개 모드는 클러스터와 해당 리소스를 만듭니다.

설치 실행 전 검사 세부정보

실행 전 검사를 실행하면 Anthos 비공개 모드는 다양한 운영체제, 소프트웨어, 머신의 기본 요건을 확인합니다.

자세한 내용은 요구사항을 참조하세요.

인증 실행 전 검사

인증을 위해 실행 전 검사는 OpenID Connect(OIDC) 구성이 올바른지 확인하여 잘못된 OIDC 프로필이 적용되지 않도록 합니다.

이러한 확인에는 /.well-known/openid-configuration에서 OIDC 검색 메커니즘을 사용하여 OIDC 엔드포인트를 핑하는 작업이 포함됩니다.

다음 단계