使用 kops 为 kubernetes 中的节点指定不同的即时类型

Specify different instant type for nodes in kubernetes with kops

我正在使用 kopsAWS 中创建一个 kubernetes 集群。

我知道我可以使用以下命令更改节点的实例类型。

kops edit ig nodes --name ${NAME}

它将打开这个文件,我可以编辑配置

apiVersion: kops/v1alpha2
kind: InstanceGroup
metadata:
  creationTimestamp: 2018-12-07T11:09:37Z
  labels:
    kops.k8s.io/cluster: <cluster-name>.k8s.local
  name: nodes
spec:
  image: kope.io/k8s-1.10-debian-jessie-amd64-hvm-ebs-2018-08-17
  machineType: t2.large
  maxSize: 5
  minSize: 3
  nodeLabels:
    kops.k8s.io/instancegroup: nodes
  role: Node
  subnets:
  - eu-west-2a
  - eu-west-2b
  - eu-west-2c

如果我想创建一个 xlarge 类型的节点和两个 large 类型的节点怎么办?我没有看到任何选项来设置这些类型的值。

原因是,在我当前的基础架构中,数据库驻留在一个 2xlarge 实例中,而所有其他小组件都在大型实例中。所以我希望节点尽可能大。 另一个解决方案是我只创建两个 2xlarge 节点而不是三个,让 kuberentes 管理部署。

新建实例组 然后,预览并最后应用更改。

 Create: $ kops create ig <new-instace-group-name> --state <your-s3-bucket-name>    
 Preview: $ kops update cluster --name <cluster-name> --state="<your-s3-bucket-name>"    
 Apply: $ kops update cluster --name <cluster-name> --state="<your-s3-bucket-name>" --yes