跳至内容

下载 kOps 配置规范文件

kOps 使用在创建阶段生成的配置规范文件进行操作。它被上传到创建过程中传入的 amazon s3 存储桶中。

如果你在运行的集群上下载配置规范文件,该集群按你想要的方式配置,你只需将该配置规范文件传递给 create 命令,让 kOps 为你创建集群,kops create -f spec_file 以完全无人值守的方式。

假设你使用以下配置选项创建集群

export KOPS_STATE_STORE=s3://k8s-us-west
export CLOUD=aws
export ZONE="us-west-1a"
export MASTER_ZONES="us-west-1a"
export NAME=k8s.example.com
export K8S_VERSION=1.6.4
export NETWORKCIDR="10.240.0.0/16"
export MASTER_SIZE="m3.large"
export WORKER_SIZE="m4.large"
接下来,你将在终端中调用 kOps 命令来创建集群

kops create cluster $NAME              \
   --cloud=$CLOUD                      \
   --zones="$ZONE"                     \
   --kubernetes-version=$K8S_VERSION   \
   --master-zones="$MASTER_ZONES"      \
   --node-count=3                      \
   --node-size="$WORKER_SIZE"          \
   --master-size="$MASTER_SIZE"        \
   --network-cidr=${NETWORKCIDR}       \
   --dns-zone=ZVO7KL181S5AP            \
   --ssh-public-key=$HOME/.ssh/lab_no_password.pub

kOps 命令

你可以简单地使用 kOps 命令 kops get --name $NAME -o yaml > a_fun_name_you_will_remember.yml

注意:要使上述命令正常工作,必须在你的环境中导出集群 NAME 和 KOPS_STATE_STORE。

有关如何使用和修改配置的更多信息,请参见 此处.

管理实例组

你也可以在单独的 YAML 文件中管理实例组。命令 kops get --name $NAME -o yaml > $NAME.yml 会导出整个集群。可以选择为集群使用一个 YAML 文件,为实例组使用单独的 YAML 文件。这允许你执行以下操作

if ! kops get cluster --name "$NAME"; then
    kops create -f "kops/$CLUSTER/$REGION.yaml"
else
 kops replace -f "kops/$CLUSTER/$REGION.yaml"
fi

for ig in kops/$CLUSTER/instancegroup/*; do
  if ! kops get ig --name "$NAME" "$(basename "$ig")"; then
    kops create -f "$ig"
  else
    kops replace -f "$ig"
  fi
done