Anthos clusters on bare metal에서는 다음과 같은 다양한 상황에서 실행 전 검사를 실행할 수 있습니다.
- Anthos clusters on bare metal은
bmctl
을 사용하여 관리자, 하이브리드 또는 독립형 클러스터와 노드 풀 리소스를 만들거나 업데이트할 때 실행 전 검사를 실행합니다. 검사에 실패하면 아무것도 변경되지 않습니다. 이러한 검사를 우회할 수도 있습니다. - 관리자 또는 하이브리드 클러스터에서 사용자 클러스터를 만들기 전에
kubectl
명령어를 사용하여 제한된 프리플라이트 검사를 실행할 수 있습니다. - 또한 Anthos clusters on bare metal은 관리자 또는 하이브리드 클러스터의 사용자 클러스터에 Kubernetes 리소스를 적용할 때 실행 전 내부 검사도 수행합니다. 검사는 변경사항이 영향을 받는 사용자 클러스터에 실제로 적용되기 전에 실행됩니다. 검사에 실패하면 아무것도 변경되지 않습니다. 이러한 검사를 우회하거나 명시적으로 실행할 수도 있습니다.
bmctl
을 사용하여 클러스터를 만들 때 실행 전 검사
bmctl
명령어로 관리자, 하이브리드 또는 독립형 클러스터를 만들면 Anthos clusters on bare metal은 변경이 이루어지기 전에 실행 전 검사를 자동으로 실행합니다.
검사가 통과하면 Anthos clusters on bare metal에서 클러스터를 만듭니다.
자동화된 실행 전 검사의 결과 무시
이러한 자동화된 실행 전 점검을 우회하려는 경우 명령어에서 --force
플래그 옵션을 사용합니다.
독립적으로 실행 전 검사 실행
클러스터를 만들기 전에 실행 전 검사를 자체적으로 실행할 수도 있습니다. 이를 통해 머신 및 노드 리소스가 검사를 통과하도록 하면 시간을 절약할 수 있습니다.
다음 명령어는 지정된 클러스터 구성 파일의 유효성을 검사하지만 클러스터 자체를 만들려고 시도하지 않습니다.
bmctl check config --cluster CLUSTER_NAME
다음 명령어는 머신 및 네트워크가 클러스터를 만들 준비가 되었는지 확인합니다.
bmctl check preflight --cluster CLUSTER_NAME
bmctl
로는 사용자 클러스터를 만들 수 없으며 이를 방지하기 위한 실행 전 검사가 있습니다.
사용자 클러스터 생성을 위한 실행 전 검사
기존 관리자 또는 하이브리드 클러스터에서 사용자 클러스터가 생성되고 kubectl
을 사용하여 실행 전 검사를 실행합니다. 사용자 클러스터를 만들기 전에 이러한 검사 결과를 바탕으로 오류가 있는지 확인하고 오류를 수정할 수 있습니다.
관리자 또는 하이브리드 클러스터가 생성되어 실행되면 사용자 클러스터를 만들기 전에 kubectl
을 사용하여 실행 전 검사를 실행할 수 있습니다.
멀티 클러스터 설정에서 사용자 클러스터 만들기의 단계에 따라 사용자 클러스터 구성 파일을 만듭니다.
새 사용자 클러스터의 네임스페이스를 만듭니다. 예를 들어
user1
이라는 새 사용자 클러스터를 만들려면cluster-user1
이라는 네임스페이스를 만들면 됩니다. 다음은 네임스페이스를 만드는kubectl
명령어입니다. 여기서 ADMIN_KUBECONFIG는 관리자 클러스터kubeconfig
파일의 경로를 지정합니다.kubectl --kubeconfig ADMIN_KUBECONFIG create namespace cluster-user1
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
다음 구조를 사용하여 새로운 실행 전 검사 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.
다음
kubectl
명령어는 사용자 클러스터에 대해 실행 전 검사를 실행합니다. 여기에서 ADMIN_KUBECONFIG는 관리자 클러스터 kubeconfig 파일의 경로를 지정하고 USER_CLUSTER_PREFLIGHT_CHECK_CONFIG는 이전 단계에서 만든 실행 전 검사 YAML 파일의 경로를 실행합니다.kubectl --kubeconfig ADMIN_KUBECONFIG create -f USER_CLUSTER_PREFLIGHT_CHECK_CONFIG
예를 들어 이름이cluster1
인 사용자 클러스터와 이름이user1-preflight.yaml
인 사용자 클러스터 실행 전 검사 구성의 경우 명령어는 다음과 같습니다.kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
시스템에서 실행 전 검사 항목의 작업 ID와 함께 다음 메시지를 반환합니다.preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
kubectl
명령어를 사용하여 실행 전 검사 작업 상태를 쿼리합니다.kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-user1 get preflightchecks preflightcheck-g7hfo4
실행 전 검사 작업이 실패하면 작업 상태와 자세한 작업 로그를 확인하여 어떤 검사가 실패했는지 확인합니다. 작업에 언급된 문제를 수정하고 검사를 다시 실행합니다.
기존 클러스터의 실행 전 내부 검사
Anthos clusters on bare metal은 기존 관리자 또는 하이브리드 클러스터에 Kubernetes 리소스를 적용할 때 실행 전 내부 검사도 수행합니다. 검사에 실패할 경우 특별히 검사를 우회하지 않은 한 Anthos clusters on bare metal은 관련 노드를 변경하지 않습니다.
Kubernetes 리소스 적용 시 실행 전 검사 우회
기존 클러스터에 리소스를 적용할 때 실행 전 내부 검사를 무시하려면 클러스터 YAML 파일에서 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: v1.6.2 ....
실행 전 검사 다시 사용 설정
실행 전 검사가 완료된 후 Anthos clusters on bare metal이 업데이트되거나 새 클러스터를 만들 수 있도록 실행 전 검사를 명시적으로 다시 실행할 수 있습니다.
다음 콘텐츠를 사용하여 새로운 실행 전 검사 YAML 파일을 만듭니다.
namespace
및clusterName
필드에 만들려는 클러스터 이름을 입력합니다.apiVersion: baremetal.cluster.gke.io/v1 kind: PreflightCheck metadata: generateName: preflightcheck- namespace: CLUSTER_NAMESPACE spec: clusterName: CLUSTER_NAME
kubectl
명령어를 내려서 클러스터의 실행 전 검사를 실행합니다. 여기서 ADMIN_KUBECONFIG는 관리자 클러스터 kubeconfig 파일의 경로를 지정하고 CLUSTER_PREFLIGHT_CHECK_CONFIG는 이전에 사용자 클러스터를 위한 실행 전 검사의 1단계에서 만든 실행 전 검사 YAML 파일의 경로를 지정합니다.kubectl --kubeconfig ADMIN_KUBECONFIG create -f CLUSTER_PREFLIGHT_CHECK_CONFIG
예를 들어 이름이cluster1
인 관리자 클러스터와 이름이user1-preflight.yaml
인 사용자 클러스터 실행 전 검사 구성의 경우 명령어는 다음과 같습니다.kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig create -f user1-preflight.yaml
시스템은 실행 전 검사 항목의 작업 ID로 응답합니다.preflightcheck.baremetal.cluster.gke.io/preflightcheck-g7hfo4 created
kubectl
명령어를 사용하여 실행 전 검사 작업 상태 ID를 쿼리합니다.kubectl --kubeconfig bmctl-workspace/cluster1/cluster1-kubeconfig -n cluster-cluster1 get preflightchecks preflightcheck-g7hfo4
실행 전 검사 작업이 성공적으로 완료되면 Anthos clusters on bare metal은 클러스터와 해당 리소스를 만듭니다.
설치 실행 전 검사 세부정보
실행 전 검사를 실행하면 Anthos clusters on bare metal은 다양한 운영체제, 소프트웨어, 머신의 기본 요건을 확인합니다.
자세한 내용은 설치 기본 요건 개요를 참조하세요.