bmctl
은 클러스터 만들기 및 관리를 간소화하기 위한 Google Distributed Cloud용 명령줄 도구입니다. 이 문서는 bmctl
명령어 및 관련 플래그에 대한 종합적인 참조 가이드입니다.
시작하기 전에
bmctl
은 애플리케이션 기본 사용자 인증 정보 (ADC)를 사용하여 클러스터 사양(clusterOperations.location
)이 global
로 설정되지 않은 경우 location
값을 검증합니다. 이 검증은 많은 bmctl
명령어에 필요합니다. ADC가 작동하려면 다음 중 하나를 수행해야 합니다.
관리자 워크스테이션의
GOOGLE_APPLICATION_CREDENTIALS
환경 변수를 서비스 계정 사용자 인증 정보 파일의 경로로 설정합니다.gcloud CLI 사용자 인증 정보를 애플리케이션 기본 사용자 인증 정보(ADC)로 사용합니다.
gcloud auth application-default login
일부 bmctl
명령어를 사용하면 플래그가 있는 사용자 인증 정보 파일의 경로를 지정할 수 있습니다.
백업
클러스터 정보를 백업합니다.
옵션
-h, --help help for backup
backup cluster
클러스터를 백업하고 백업을 tar 파일에 저장합니다.
backup cluster [flags]
옵션
--backup-file string path to the output backup files.
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for cluster
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
--use-disk Perform the backup using the disk instead of in-memory
buffer. This option only works when the command is run
by the root user or with sudo.
--yes Perform the backup and do not prompt for confirmation
(non-interactive mode).
bmctl
을 사용한 클러스터 백업 및 복원에 대한 자세한 내용은 bmctl로 클러스터 백업 및 복원을 참조하세요.
check
클러스터 또는 인프라에서 프리플라이트 검사 또는 상태 점검을 수행합니다.
옵션
-h, --help help for check
check add-ons
stackdriver-log-aggregator
, stackdriver-log-forwarder
, gke-connect-agent
등 클러스터 부가기능의 운영 상태를 확인합니다.
check add-ons [flags]
예시
# Do a health check for add-ons
bmctl check add-ons --cluster=cluster1
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for add-ons
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
check cluster
클러스터 상태를 확인하거나 클러스터 스냅샷을 생성합니다.
check cluster [flags]
예시
# Do a health check for cluster.
bmctl check cluster --cluster=cluster1
# Take a snapshot of the cluster (requires admin cluster to be available).
bmctl check cluster --snapshot --cluster=cluster1 --admin-kubeconfig=admin-kubeconfig
# Take a snapshot of the cluster (requires admin cluster to be available) using 30 threads.
bmctl check cluster --snapshot --cluster=cluster1 --admin-kubeconfig=admin-kubeconfig --num-of-parallel-threads=30
# Take a snapshot of the cluster nodes only (does not require admin cluster to be available).
bmctl check cluster --snapshot --cluster=cluster1 --snapshot-config=snapshot-config
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default "192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default "10.96.0.0/27")
--ca-file string The file contains the Node Agent server CA certificate for authenticating nodes to capture snapshots. While this flag is fully optional, when provided, nodes must also be provided.
--cert-file string The file contains the Node Agent client certificate for authenticating with nodes to capture snapshots. While this flag is fully optional, when provided, nodes must also be provided.
-c, --cluster cluster name Cluster name, cluster config is expected to be placed under <workspace dir>/<cluster name>/<cluster name>.yaml
--enforce-allowlist Enforces allowlist checking for kubectl/node commands executed as part of collecting snapshot that they are read-only. Commands not allowed will be skipped. (default true)
-h, --help help for cluster
--ignore-validation-errors A validation error override, allowing to proceed despite the validation errors.
--key-file string The file contains the Node Agent client private key for authenticating with nodes to capture snapshots. While this flag is fully optional, when provided, nodes must also be provided.
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
--local Save the snapshot on your workstation only. This will allow you to explicitly opt out of uploading the snapshot to Google Cloud.
--login-user string The user to login to each node. This will be ignored when admin-kubeconfig is set. (default "root")
--node-ssh-key string The file contains ssh key to the nodes to capture snapshots against. While this flag is fully optional, when provided, nodes must also be provided.
--nodeagent-port int The Node Agent server port for the client side to connect to. This flag is optional and only applies with 'nodes' options; when provided, it will override the default port.
--nodes strings The comma-separated IP address list of the nodes to capture snapshots against. While this flag is fully optional, when provided, node-ssh-key must also be provided.
--num-of-parallel-threads int The number of parallel threads used for processing snapshots. Note that --snapshot-config and --num-of-parallel-threads flags cannot be used at the same time. (default 10)
--quiet During snapshot run suppress logging to stdout. (Console log is available in 'bmctl_diagnose_snapshot.log' file part of the snapshot)
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
--service-account-key-file string The service account key file that is needed to upload the snapshot to your Google Cloud Storage bucket and provision a dedicated Google Cloud service account for your project to facilitate snapshot sharing with Google.
Make sure that the service account key has the ability to create and list buckets and objects in your project.
We recommend creating a custom role with the following permissions and assigning this custom role to your service account:
- storage.buckets.create
- storage.buckets.get
- storage.buckets.list
- storage.objects.create
- resourcemanager.projects.get
Note that all the storage permissions fall under the "roles/storage.admin" IAM role. You can also use that role, but it is too powerful and is not recommended
Note that:
- this flag is defaulted to the environment variable GOOGLE_APPLICATION_CREDENTIALS, if not provided.
- this flag is ignored, if "--upload-to" flag is empty.
--since duration This Only returns logs newer than a relative duration like 5s, 4m, or 3h. It defaults to all logs.
--snapshot Takes a snapshot of the cluster's logs, configurations and other data if true.
Note that if a service account key is provided either throuh the flag --service-account-key-file or GOOGLE_APPLICATION_CREDENTIALS, the snapshot will be automatically uploaded to your Google Cloud Storage bucket. Also, a dedicated Google Cloud service account for your project will be provisioned for your project to facilitate snapshot sharing with Google.
Use --local to opt out of snapshot uploading.
--snapshot-config --enforce_allowlist=false The config file of the snapshot. When this flag is omitted, a default configuration is applied. An allowlist enforcing read-only commands is in effect by default, to bypass it specify --enforce_allowlist=false option. Note that --snapshot-config and --num-of-parallel-threads flags cannot be used at the same time.
--snapshot-dry-run In dry-run mode, the command does not take the snapshot. Instead, it prints out the actions to be taken and the snapshot configuration.
--snapshot-output string The output file of the snapshot.
--snapshot-scenario string The scenario of the snapshot. This is ignored when --config flag is specified. The supported scenarios are:
- system: snapshot of system components, including their logs
- all: snapshot of all pods, including their logs (default "system")
--snapshot-temp-output-dir string The temporary landing directory for snapshot.
--upload-to string The Google Cloud Storage bucket name for uploading the snapshot. A new bucket will be created if it doesn't exist. Please follow the naming guidelines here(https://cloud.google.com/storage/docs/naming-buckets).
check config
클러스터 구성 파일을 확인합니다.
check config [flags]
예시
# Do check for cluster1.yaml file
bmctl check config --cluster=cluster1
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for config
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
check gcp
Google Cloud 상태 점검에 대한 클러스터 연결입니다.
check gcp [flags]
예시
# Do a machines' Google Cloud connectivity health check for cluster
bmctl check gcp --cluster=cluster1
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for gcp
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
check kubernetes
Kubernetes 상태 점검입니다.
check kubernetes [flags]
예시
# Do a kubernetes health check for cluster
bmctl check kubernetes --cluster=cluster1
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for kubernetes
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
check nodes
노드 상태를 확인합니다.
check nodes [flags]
예시
# Do a health check for some provisioned nodes
bmctl check nodes --addresses=192.168.0.1,192.168.0.4
옵션
--addresses strings Node addresses, addresses should be a comma separated
list, each address needs be a single IP address(e.g.,
192.168.0.1)
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for nodes
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
check preflight
프리플라이트 검사입니다.
개요
프리플라이트 검사입니다.
check preflight [flags]
예시
# Do a preflight check for cluster1.yaml in bmctl-workspace/cluster1
bmctl check preflight --cluster=cluster1
# If kubeconfig flag (for example, --kubeconfig=bmctl-workspace/cluster1/cluster1-kubeconfig) is
# included, the command will trigger a preflight check for upgrading the cluster
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for preflight
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
vmruntimepfc 확인
GDC용 VM 런타임 프리플라이트 검사
check vmruntimepfc [flags]
예시
# Do vmruntime preflight check,
bmctl check vmruntimepfc --kubeconfig=$KUBECONFIG
옵션
-h, --help help for vmruntimepfc
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not
provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
프리플라이트 검사에 대한 자세한 내용은 프리플라이트 검사 이해를 참조하세요.
구성
워크로드 아이덴티티 클러스터 인증을 위해 Google Cloud에서 서비스 계정 및 IAM 역할을 구성하고 API를 사용 설정합니다.
옵션
-h, --help help for configure
프로젝트 구성
워크로드 아이덴티티 클러스터 인증을 위한 IAM 정책 바인딩을 구성합니다. 필수 서비스 계정을 만들고 필수 API를 사용 설정합니다.
configure projects [flags]
옵션
--admin-cluster string admin cluster name
--cloud-ops-service-account string cloud ops service account
--controller-service-account string controller GCP service account
--gcr-service-account string GCR image pull service account
-h, --help help for projects
--location string GKE hub membership location (default "global")
--project-id string GCP project used in GKE connect
--proxy-url string proxy URL for accessing GCP services. If not specified,
bmctl looks for env variables HTTPS_PROXY and HTTP_PROXY
--user-clusters string one or more comma-delimited user cluster names
워크로드 아이덴티티 클러스터 인증을 사용 설정하고 사용하는 방법에 대한 자세한 내용은 워크로드 아이덴티티 클러스터 인증을 참고하세요.
create
클러스터 구성 파일, 클러스터 또는 Kubernetes 서비스 계정(KSA)을 만듭니다.
옵션
-h, --help help for create
create cluster
클러스터 구성 파일에서 클러스터를 만듭니다.
개요
Google Distributed Cloud 리소스를 만듭니다. 이 명령어는 생성된 클러스터의 kubeconfig를 내보냅니다. 이 파일에는 클러스터의 사용자 인증 정보가 포함되어 있으니 파일을 안전하게 보관하세요. 이 명령어를 사용하려면 Google Cloud 프로젝트에 대한 API 사용 설정을 확인하기 위한 serviceusage.services.get
권한이 필요합니다.
create cluster [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
--force If true, ignore errors from preflight checks and
validation except for Google Cloud check errors.
-h, --help help for cluster
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
클러스터 만들기에 대한 자세한 내용은 클러스터 만들기 개요를 참조하세요.
create config
클러스터 구성 파일을 만듭니다. 기본적으로 이 파일은 bmctl-workspace/<cluster_name> 폴더에 생성됩니다.
create config [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
--create-service-accounts Auto create GCP service accounts keys, if they do not
already exist in workspace
--enable-apis Auto enable APIs used by Bare Metal cluster,
for the GCP Project specified by project-id flag
--force Overwrite existing config
-h, --help help for config
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--project-id string GCP project where the new cluster will connect with
via GKE hub and stackdriver logging/monitoring,
required if --create-service-accounts or
--enable-apis is true
--proxy-url string Proxy URL for accessing GCP services. If not
specified, bmctl will look for env variable
HTTPS_PROXY and HTTP_PROXY
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
create ksa
대상 클러스터의 cluster-admin 역할이 있는 Kubernetes 서비스 계정을 만듭니다.
Kubernetes 서비스 계정의 기본 이름은 kubernetes-service-account
이므로 --name
플래그는 선택사항입니다.
이 명령어는 클러스터에 로그인하는 데 사용할 수 있는 Bearer 토큰을 생성합니다.
Bearer 토큰은 기본적으로 bmctl-workspace/<cluster_name>
폴더에 저장됩니다.
create ksa [flags]
옵션
-c, --cluster string Cluster name, cluster config is expected to be placed under
<workspace dir>/<cluster name>/<cluster name>.yaml.
-h, --help help for ksa
--ksa-name string Name of the kubernetes service account and default value is
kubernetes-service-account. (default "kubernetes-service-account")
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not
provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
disable
클러스터에서 GDC용 GVM 런타임을 사용 중지합니다.
옵션
-h, --help help for disable
disable vmruntime
클러스터에서 GDC용 VM 런타임을 사용 중지합니다.
disable vmruntime [flags]
옵션
--force If true, delete all VM resources and disable vmruntime.
-h, --help help for vmruntime
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not
provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
GDC용 VM 런타임 사용 설정 및 중지에 대한 자세한 내용은 GDC용 VM 런타임 사용 설정 또는 중지를 참조하세요.
사용 설정
클러스터에서 GDC용 VM 런타임을 사용 설정합니다.
옵션
-h, --help help for enable
enable vmruntime
클러스터에서 GDC용 VM 런타임을 사용 설정합니다.
enable vmruntime [flags]
옵션
-h, --help help for vmruntime
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not
provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
GDC용 VM 런타임 사용 설정 및 중지에 대한 자세한 내용은 GDC용 VM 런타임 사용 설정 또는 중지를 참조하세요.
get
클러스터 구성 또는 클러스터 사용자 인증 정보를 가져옵니다.
옵션
-h, --help help for get
get config
클러스터 구성 파일을 가져옵니다. 이 명령어는 대상 클러스터의 커스텀 리소스를 가져오고 구성 파일을 내보냅니다.
get config [flags]
옵션
-c, --cluster string Cluster name, cluster config is expected to be placed under
<workspace dir>/<cluster name>/<cluster name>.yaml.
-h, --help help for config
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not
provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
자세한 내용은 클러스터 구성 세부정보 가져오기를 참조하세요.
get credentials
대상 클러스터 사용자 인증 정보를 가져옵니다. 이 명령어는 관리자 워크스테이션의 <workspace dir>/<cluster name>
폴더에 kubeconfig 파일을 만듭니다.
get credentials [flags]
옵션
-c, --cluster string Cluster name, cluster config is expected to be placed under
<workspace dir>/<cluster name>/<cluster name>.yaml.
-h, --help help for credentials
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not
provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
자세한 내용은 클러스터 사용자 인증 정보 가져오기를 참조하세요.
install
소프트웨어 설치 작업을 수행합니다.
옵션
-h, --help help for install
install virtctl
virtctl
을 현재 머신에 kubectl
플러그인으로 설치합니다. virtctl
플러그인은 생성, 연결, 전원 상태 변경과 같은 기본 VM 작업을 지원합니다.
install virtctl [flags]
옵션
-d, --dst-dir string The dir virtctl binary to be installed, this path must be a valid one within
PATH env variable
-h, --help help for virtctl
move
관리 클러스터 간에 Google Distributed Cloud 리소스와 모든 종속 항목을 이동합니다.
- 대상 클러스터 네임스페이스에는 추가 리소스가 포함될 수 있으며, 충돌하는 리소스는 대체됩니다.
move [flags]
옵션
--cluster-move-timeout duration Cluster move timeout, default value is 15m. The input should
contain the duration unit, e.g. 3600s, 60m or 1h. (default
15m0s)
--from-kubeconfig string kubeconfig file path for the source management cluster. If
unspecified, will use the default discovered kubeconfig.
--from-kubeconfig-context string Context to be used within the kubeconfig file for the source
management cluster. If empty, current context will be used.
-h, --help help for move
-n, --namespace string The namespace where the cluster resources are stored. If
unspecified, the current context's namespace is used.
--to-kubeconfig string kubeconfig file path for the destination management cluster.
--to-kubeconfig-context string Context to be used within the kubeconfig file for the
destination management cluster. If empty, current context
will be used.
nodeagent
노드 에이전트 배포를 관리합니다.
개요
클러스터 노드에서 노드 에이전트 서비스를 관리하는 명령어를 제공합니다.
옵션
-h, --help help for nodeagent
nodeagent deploy
SSH를 사용하여 노드 에이전트 서비스를 지정된 노드에 배포합니다.
개요
SSH를 사용하여 지정된 클러스터 내의 하나 이상의 타겟 노드에 노드 에이전트 서비스를 배포합니다.
이 명령어를 사용하면 노드 에이전트를 설치하거나 재설치할 수 있습니다. SSH를 통해 연결하고 바이너리 전송, 선택적으로 인증서 생성 및 전송, systemd 서비스 설정 등 필요한 단계를 실행합니다.
타겟 노드에 대한 SSH 액세스 및 sudo 권한이 필요합니다.
이 명령어는 노드 에이전트의 초기 설정과 복구를 모두 처리합니다.
타겟 노드는 --nodes
플래그를 직접 사용하거나, --cluster
플래그를 사용하여 클러스터 구성 파일을 통해 지정하거나, 클러스터의 커스텀 리소스를 참조하여 지정하는 등 여러 방법으로 지정할 수 있습니다.
nodeagent deploy [flags]
옵션
--cluster string Name of the target cluster (required).
--concurrency int Number of parallel node deployments. (default 25)
--deploy-creds Deploy the server certificate, private key and client CA to nodes. (default true)
--enforce-host-key-verify Verifies the remote host's SSH key against known_hosts (recommended). (default true)
--generate-ca-creds Generate necessary CAs and client credentials for Node Agent.
-h, --help help for deploy
--key-algorithm string The private key algorithm for the CA, client certificatem and server certificate. (default "rsa")
--key-length int The private key length for the CA, client certificate and server certificate. (default 4096)
--kubeconfig string Path to the cluster kubeconfig.
--nodeagent-version string The Node Agent version to pull. (default "0.0.0-gke.0")
--nodes strings List of node IPs to deploy to (comma-delimited).
--non-interactive Run non-interactively, skipping all user prompts.
--port string The Node Agent port. (default "9192")
--pull-binaries Download Node Agent binaries.
--sa-key string Path to the service account key to pull from GCS and GCR.
--server-cert-validity int The validity for the server certificate. (default 1825)
--ssh-key string Path to the SSH private key file. (default "~/.ssh/id_rsa")
--ssh-user string SSH username for connecting to nodes. (default "root")
nodeagent enable
실행 중인 클러스터에 노드 에이전트 모드를 사용 설정합니다.
개요
클러스터의 노드 에이전트 모드를 사용 설정합니다.
이 명령어는 클러스터의 구성을 수정하고 이 모드가 작동하는 데 필요한 관련 사용자 인증 정보를 생성하거나 업데이트합니다.
노드 에이전트 모드가 활성 상태이면 각 노드에서 직접 실행되는 노드 에이전트가 클러스터 관리를 처리합니다.
nodeagent enable [flags]
옵션
--client-ca-key-path string Path for the client certificate key file.
--client-ca-path string Path for the client ca certificate file.
--client-cert-path string Path for the client cacertificate file.
--client-key-path string Path for the client private key file.
-c, --cluster string Name of the target cluster (required).
--ensure-status Ensure Node Agent running status on all node in the cluster. (default true)
-h, --help help for enable
-k, --kubeconfig string Path to the kubeconfig file (required).
--port string The Node Agent port. (default "9192")
--server-ca-key-path string Path for the server ca key file.
--server-ca-path string Path for the server ca file.
nodeagent rotate-credentials
SSH를 사용하고 클러스터 내에서 지정된 노드의 노드 에이전트 사용자 인증 정보를 순환합니다.
개요
SSH를 사용하여 하나 이상의 타겟 노드에서 nodeagentd
사용자 인증 정보를 순환합니다. 이 명령어는 클러스터 내에 저장된 해당 노드 에이전트 사용자 인증 정보도 업데이트합니다.
이 명령어는 노드 에이전트 사용자 인증 정보를 순환할 수 있습니다. 타겟 노드에 대한 SSH 액세스 및 sudo 권한이 필요합니다.
타겟 노드는 --nodes
플래그를 직접 사용하거나, --cluster
플래그를 사용하여 클러스터 구성 파일을 통해 지정하거나, 클러스터의 커스텀 리소스를 참조하여 지정하는 등 여러 방법으로 지정할 수 있습니다.
nodeagent rotate-credentials [flags]
옵션
--cluster string Name of the target cluster (required).
--concurrency int Number of parallel node deployments. (default 25)
--enforce-host-key-verify Verify remote host's SSH key against known_hosts. (default true)
--generate-ca-creds Generate necessary CAs and client credentials for Node Agent.
-h, --help help for rotate-credentials
--key-algorithm string The private key algorithm for the CA, client certificatem and server certificate. (default "rsa")
--key-length int The private key length for the CA, client certificate and server certificate. (default 4096)
--kubeconfig string Path to the cluster kubeconfig.
--nodes strings List of node IPs to deploy to (comma-delimited).
--non-interactive Run non-interactively, skipping all user prompts.
--server-cert-validity int The validity for the server certificate. (default 1825)
--ssh-key string Path to the SSH private key file. (default "~/.ssh/id_rsa")
--ssh-user string SSH username for connecting to nodes. (default "root")
nodeagent 상태
클러스터 노드에서 노드 에이전트의 실행 상태를 확인합니다.
개요
클러스터 노드에서 노드 에이전트의 실행 상태를 확인합니다.
타겟 노드는 --nodes
플래그를 직접 사용하거나, --cluster
플래그를 사용하여 클러스터 구성 파일을 통해 지정하거나, 클러스터의 커스텀 리소스를 참조하여 지정하는 등 여러 방법으로 지정할 수 있습니다.
nodeagent status [flags]
옵션
--client-cert-path string Path for the client certificate file.
--client-key-path string Path for the client private key file.
-c, --cluster string Name of the target cluster (required).
-h, --help help for status
-k, --kubeconfig string Path to the kubeconfig file.
--nodes strings List of node IPs to deploy to (comma-delimited).
--port string The Node Agent port. (default "9192")
--server-ca-path string Path for the server ca file.
push
비공개 레지스트리에 Docker 이미지를 내보냅니다.
옵션
-h, --help help for push
push images
로컬 컨테이너 이미지 tar 파일을 비공개 레지스트리로 내보냅니다.
push images [flags]
옵션
--cacert string Private registry CA certificate file path.
--dry-run Dry run.
--email string Email for private registry.
--force-push If set to true, will always push images even if images already exist
in registry.
--format string Format of images in the source file. Should be one of tarball or oci
(default). (default "oci")
-h, --help help for images
--need-credential Whether credential is needed for private registry. (default true)
--password string Password for private registry authentication.
-r, --private-registry string Private registry path that stores all bare metal images.
Format should be <registry-name>/<optional-registry-namespace>.
--source string Path to bare metal container images compressed file.
-t, --threads int Push images with multiple threads. (default 4)
--username string Username for private registry authentication.
베어 메탈 컨테이너 이미지의 레지스트리 미러를 설정하고 사용하는 방법에 관한 자세한 내용은 컨테이너 이미지에 레지스트리 미러 사용을 참고하세요.
register
리소스를 등록합니다.
옵션
-h, --help help for register
register bootstrap
Hub API에 부트스트랩 클러스터를 등록합니다.
개요
Hub API에 부트스트랩 클러스터를 등록합니다. 이 명령어는 로컬 종류 클러스터를 관리자 클러스터로 등록합니다. 이 명령어는 Google Cloud 콘솔에서 클러스터가 생성될 때까지 기다렸다가 클러스터가 성공적으로 생성되면 종료됩니다.
register bootstrap [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
--cloud-operation-service-account-key string Optional, service account key file used to
access Google cloud service, service account
key specified by environment variable
GOOGLE_APPLICATION_CREDENTIALS will be used to
fetch or create the Service account.
--enable-apis Auto enable APIs used by bare metal
cluster, for the GCP Project specified by
project-id flag
--gcr-service-account-key string Optional, service account key file used to
pull Artifact Registry images, service account key
specified by environment variable
GOOGLE_APPLICATION_CREDENTIALS will be used to
fetch or create the Service account.
--gke-agent-service-account-key string Optional, service account key file used to
connect the GKE cluster in Google Cloud,
service account key specified by environment
variable GOOGLE_APPLICATION_CREDENTIALS will
be used to fetch or create the Service
account.
--gke-register-service-account-key string Optional, service account key file used to
register the cluster in Google Cloud, service
account key specified by environment variable
GOOGLE_APPLICATION_CREDENTIALS will be used to
fetch or create the Service account.
-h, --help help for bootstrap
--ignore-validation-errors A validation error override, allowing to
proceed despite the validation errors.
--location string Optional, Location of the GKEHub Membership,
e.g. us-central1. If unspecified, global will
be used. (default "global")
--name string Mandatory (either --name or
--target-cluster-name needs to be provided),
Name of the bootstrap cluster. bmctl will
register the bootstrap cluster with this name
with GKE Connect.
--project-id string Optional, GCP project for GKE Connect. bmctl
will register this bootstrap cluster into GCP
project temporarily, and un-register it after
cluster is provisioned successfully.
--registry-mirror-ca string Registry mirror CA file.
--registry-mirror-credential string Registry mirror credential file.
--registry-mirror-endpoint string Registry mirror endpoint.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
--ssh-client-cert string Optional, Path of the SSH certificate. ABM
will use this ssh key certificate while sshing
in the machines.
--ssh-key string Mandatory, Path of the SSH key. ABM will use
this ssh key while sshing in the machines.
--target-cluster-name string Optional, The target cluster name.
reset
클러스터 머신을 설치 전 상태로 재설정합니다.
개요
이 명령어는 이전 설치 시도에서 수행된 변경사항을 실행취소하려고 시도합니다. 부분적인 설치 실패로부터 복구하기 위한 최선의 시도입니다.
reset [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for reset
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
reset bootstrap
부트스트랩 클러스터를 삭제합니다.
reset bootstrap [flags]
예시
bmctl reset bootstrap
옵션
-h, --help help for bootstrap
reset nodes
클러스터에서 지정된 노드를 삭제하여 사전 설치된 상태로 재설정합니다. 노드에 액세스할 수 없는 경우 --force
옵션을 사용하여 재설정 단계를 우회할 수 있습니다. 클러스터 컨트롤 플레인에 액세스할 수 없는 경우 --ssh-private-key-path
, --login-user
, --gcr-service-account-key
옵션을 사용하여 클러스터에서 삭제하지 않고 지정된 노드를 사전 설치된 상태로 재설정할 수 있습니다.
reset nodes [flags]
예시
bmctl reset nodes --addresses 10.200.0.10,10.200.0.11 --cluster cluster1 --kubeconfig admin-kubeconfig
옵션
--addresses strings Node addresses, addresses should be a comma separated list, each address needs be a single IP address(e.g., 192.168.0.1)
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default "192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default "10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed under <workspace dir>/<cluster name>/<cluster name>.yaml
--force Optional. If provided, nodes will be forcefully removed from the cluster without running reset jobs.
--gcr-service-account-key string Optional, path to the service account json key to pull gcr images. Mutually exclusive with --cluster flag. If not provided, the environment variable GOOGLE_APPLICATION_CREDENTIALS will be used.
-h, --help help for nodes
--ignore-validation-errors A validation error override, allowing to proceed despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
--login-user string login user to use to connect to the nodes. Mutually exclusive with --cluster flag. Optional and should be used together with --ssh-private-key-path. Default to root.
--registry-mirror-ca string Registry mirror CA file.
--registry-mirror-credential string Registry mirror credential file.
--registry-mirror-endpoint string Registry mirror endpoint.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
--ssh-private-key-path string path to the ssh private key to connect to the nodes. Either --cluster or --ssh-private-key-path should be provided, but not both. Use this flag to reset the machines if the original cluster yaml is no longer available.
bmctl reset nodes
를 사용하여 클러스터 노드를 사전 설치 상태로 되돌리거나 클러스터를 삭제하는 방법에 대한 자세한 내용은 Google Distributed Cloud에서 실패한 노드 재설정을 참고하세요.
복원
클러스터를 복원하거나 클러스터의 쿼럼을 다시 확보하려고 시도합니다.
개요
클러스터를 복원합니다. 클러스터 하위 명령어 없이 사용되는 경우 이 명령어는 쿼럼 손실로부터 고가용성 클러스터를 복원하려고 시도합니다. 클러스터 하위 명령어와 함께 사용할 경우에는 명령어가 백업 파일에서 클러스터를 복원합니다.
restore [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be
placed under
<workspace dir>/<cluster name>/<cluster name>.yaml
--control-plane-node string IP for the surviving host address, should be a
single IP address(e.g., 192.168.0.1).
-h, --help help for restore
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string kubeconfig file path for the management cluster. This
only needs to be provided if restoring a broken user
cluster.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
restore cluster
백업 파일에서 클러스터를 복원합니다.
restore cluster [flags]
옵션
--backup-file string path to the backup file of the cluster.
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for cluster
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string path to the kubeconfig of the management cluster.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
--use-disk Perform the restore using the disk instead of
in-memory buffer. This option only works when the
command is run by the root user or with sudo.
bmctl
을 사용한 클러스터 백업 및 복원에 대한 자세한 내용은 bmctl로 클러스터 백업 및 복원을 참조하세요.
update
클러스터 리소스를 업데이트합니다.
옵션
-h, --help help for update
update cluster
클러스터 및 노드 풀 구성을 업데이트합니다. 이 명령어는 클러스터 구성 파일의 변경사항을 적용합니다. 기본적으로 구성 파일 <cluster_name>.yaml
은 관리자 워크스테이션의 bmctl-workspace/<cluster_name>/
폴더에 저장됩니다.
update cluster [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
-h, --help help for cluster
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
bmctl
을 사용한 클러스터 업데이트에 대한 자세한 내용은 클러스터 업데이트를 참조하세요. 변경 가능한 클러스터 구성 파일을 확인하려면 클러스터 구성 필드 참조를 확인하세요.
update credentials
클러스터 사용자 인증 정보를 업데이트합니다.
개요
클러스터의 사용자 인증 정보를 업데이트합니다. 이 명령어는 관리자 클러스터 사용자 인증 정보와 관리자 클러스터에서 관리하는 사용자 클러스터의 사용자 인증 정보를 업데이트합니다.
update credentials [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
--cloud-operations-service-account-key-path string New credential: path to cloud operations
service account key.
-c, --cluster cluster name Cluster name, cluster config is expected
to be placed under
<workspace dir>/<cluster name>/<cluster name>.yaml
--gcr-key-path string New credential: path to GCR service
account key.
--gke-connect-agent-service-account-key-path string New credential: path to gke connect
agent service account key.
--gke-connect-register-service-account-key-path string New credential: path to gke connect
register service account key.
-h, --help help for credentials
--ignore-validation-errors A validation error override, allowing
to proceed despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file
for the admin cluster. IF not provided,
will fall back to read env var
ANTHOS_ADMIN_KUBECONFIG.
--node-agent-client-cert-path string New credential: path to Node Agent
client certificates.
--node-agent-client-private-key-path string New credential: path to Node Agent
client private key.
--node-agent-server-ca-path string New credential: path to Node Agent
server CA.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
--ssh-private-key-path string New credential: path to ssh private key.
update credentials certificate-authorities
클러스터에서 인증 기관을 업데이트합니다.
옵션
-h, --help help for certificate-authorities
상위 명령어에서 상속된 옵션
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not
provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
update credentials certificate-authorities rotate
인증 기관을 순환합니다.
update credentials certificate-authorities rotate [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
--cluster-ca-cert-path string New credential: path to custom cluster CA certificate.
--cluster-ca-private-key-path string New credential: path to custom cluster CA private key.
--etcd-ca-cert-path string New credential: path to custom etcd CA certificate.
--etcd-ca-private-key-path string New credential: path to custom etcd CA private key.
--front-proxy-ca-cert-path string New credential: path to custom front proxy CA
certificate.
--front-proxy-ca-private-key-path string New credential: path to custom front proxy CA private
key.
-h, --help help for rotate
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
````
#### Options inherited from parent commands
```none
--kubeconfig string Optional, path to the kubeconfig file for the admin cluster. IF not
provided, will fall back to read env var ANTHOS_ADMIN_KUBECONFIG.
업그레이드
클러스터를 새 버전으로 인플레이스 업그레이드합니다.
옵션
-h, --help help for upgrade
upgrade cluster
클러스터 업그레이드
개요
클러스터 업그레이드 이 명령어는 클러스터 구성 파일에서 대상 버전을 읽고 대상 클러스터를 지정된 버전으로 업그레이드합니다. 클러스터 구성 파일의 다른 모든 변경사항은 무시됩니다. 이 명령어를 사용하려면 구성 파일에 지정된 Google Cloud 프로젝트의 API 사용 설정을 확인하기 위한 serviceusage.services.get
권한이 필요합니다.
upgrade cluster [flags]
옵션
--bootstrap-cluster-pod-cidr string Bootstrap cluster pod CIDR (default
"192.168.122.0/24")
--bootstrap-cluster-service-cidr string Bootstrap cluster service CIDR (default
"10.96.0.0/27")
-c, --cluster cluster name Cluster name, cluster config is expected to be placed
under
<workspace dir>/<cluster name>/<cluster name>.yaml
--cluster-update-timeout duration Cluster update timeout, default value is 24h. The
input should contain the duration unit, e.g. 3600s,
60m or 1h. (default 24h0m0s)
--force If true, ignore errors from preflight checks.
-h, --help help for cluster
--ignore-validation-errors A validation error override, allowing to proceed
despite the validation errors.
--kubeconfig string Optional, path to the kubeconfig file for the admin
cluster. IF not provided, will fall back to read env
var ANTHOS_ADMIN_KUBECONFIG.
--reuse-bootstrap-cluster If true, use existing bootstrap cluster.
--skip-bootstrap-cidr-check If true, skip checking CIDR and the number of nodes
to determine whether upgrade would succeed.
--skip-preflight If true, skip standalone preflight checks.
중간 버전 업그레이드
부 버전 건너뛰기 업그레이드를 실행할 때 클러스터가 먼저 업그레이드될 중간 버전을 출력합니다.
개요
부 버전 건너뛰기 업그레이드를 실행할 때 클러스터가 먼저 업그레이드될 중간 버전을 출력합니다.
마이너 버전 업그레이드 건너뛰기를 사용하면 클러스터를 마이너 버전 2개로 업그레이드할 수 있습니다. 1.33.z로 업그레이드되는 1.31.x 클러스터는 1.31.x -> 1.32.y -> 1.33.z 업그레이드 경로를 따릅니다. 여기서 1.32.y는 중간 버전입니다.
upgrade intermediate-version [flags]
옵션
-h, --help help for intermediate-version
클러스터 업그레이드에 대한 자세한 내용은 다음 문서를 참조하세요.
version
bmctl
버전 인쇄
version [flags]
옵션
-h, --help help for version
-o, --output string Output format of version string. Supported options: [version, commit,
metadata-digest]