指定映像时如何升级kubernetes版本

时间:2019-03-01 11:59:56

标签: amazon-web-services kubernetes kops

我在这里很新,所以请对我温柔。

我已经使用Ansible脚本继承了一个古老的(ish)kops安装过程,该脚本在实例组创建过程中具有特定版本的“ kope.io”映像

apiVersion: kops/v1alpha2
kind: InstanceGroup
metadata:
  creationTimestamp: null
  labels:
    kops.k8s.io/cluster: {{ k8s_cluster_name }}
  name: master-{{ vpc_region }}a
spec:
  associatePublicIp: false
  image: kope.io/k8s-1.8-debian-jessie-amd64-hvm-ebs-2018-02-08
  machineType: "{{ master_instance_type }}"
  maxSize: 1
  minSize: 1
{% if use_spot %}
  maxPrice: "{{ spot_price }}"
{% endif %}
  nodeLabels:
    kops.k8s.io/instancegroup: master-{{ vpc_region }}a
  role: Master
  subnets:
  - {{ vpc_region }}a-private-subnet

您会看到image: kope.io/k8s-1.8-debian-jessie-amd64-hvm-ebs-2018-02-08行将我固定到特定的k8s版本。

我想用更新的版本进行重建,但是我不确定是否仍然需要指定此图像,以及是否应该使用哪个图像?

我想至少将此版本更新为1.9.11,但理想情况下,我认为我应该使用最新的稳定版本。 (1.13.0?),但我知道很多从那时起发生了变化,所以事情可能会破裂吗?

通过Google搜索获得了如此多的信息,但是其中很多信息令人困惑或冲突(或已过时。任何指针都值得赞赏。

1 个答案:

答案 0 :(得分:0)

根据kops documentation,您可以指定一个图像,该图像将用于预配置将构建您的实例组的AMI。

您可以在https://github.com/kubernetes/kops/blob/master/channels/stable上找到最新的kope.io映像及其各自的kubernetes版本

我不确定您是否可以使用与要配置的版本不同的kope.io/k8s-x.xx版本,或者kops是否执行稳定通道中规定的限制,但是您可以看到不同的kope.io映像应配置为不同的Kubernetes版本。

您应该在测试环境中尝试基础架构,以确保安全且不会丢失数据。您应该记住,如果您需要使用基于hostPath的挂载点,则可能应该将其迁移到新群集或使用某种备份机制。

在任何情况下,请查看kops compatibility matrix,并查看用于升级所需的kops版本。您可能更喜欢升级到临时版本,以便可以升级群集和kops本身,直到最新为止,以便使用经过更多测试的过程:)