rke升级k8s集群

1、需求

目前开发环境和线上环境的k8s集群版本不统一,开发区的版本为v1.17.5,线上的版本为v1.16.3,为避免环境不统一而带来不必要的麻烦,现进行统一升级使版本进行统一化

2、背景概述

2.1、Kubernetes 1.18版本介绍

Kubernetes 1.18包含38个增强功能:其中15个功能已趋于稳定,beta版本中有11个,alpha版本中有12个。

Kubernetes 1.18是一个“完美”的版本。为了改善用户体验,我们在beta和 stable 功能改进方面进行了大量工作:增加新的开发和新功能。对alpha,beta和 stable 版进行几乎一样多的增强是一项伟大的成就。这说明,社区在提高Kubernetes的可靠性以及继续扩展其现有功能方面所做的巨大努力。

2.2、Kubernetes 1.18主要更新内容

Kubernetes拓扑管理器(Topology Manager ) 升级到Beta版

Serverside Apply引入Beta 2版本

使用IngressClass扩展Ingress,并用IngressClass替换不推荐使用的注释

SIG-CLI引入kubectl debug命令

Alpha版本引入Windows CSI

稳定特性💯

主要变化

发行说明

在我们的发行说明中查看Kubernetes 1.18发行版的完整详细信息。

可用性

Kubernetes 1.18可以在GitHub上下载。如果要开始使用Kubernetes,可以看看这些互动式教学或使用 kind.运行本地Kubernetes集群。你还可以使用kubeadm轻松安装1.18 。

3、部署前准备工作

3.1、初始化三台小主机部署一套与开发环境一样的集群

主机节点	        docker-version
172.19.8.103	19.03.12 (master)
172.19.8.104	19.03.12
172.19.8.108	19.03.12

 3.2、8.103作为master节点

##安装ansible
~]# yum install -y ansible

##host配置
~]# cat /etc/ansible/hosts
[jcrke]
172.19.8.103
172.19.8.104
172.19.8.108

#批量
~]# ansible kub-all -m shell -a "usermod k8suser -G docker"

##rke安装 -v1.0.8
wget https://github.com/rancher/rke/releases/download/v1.0.8/rke_linux-amd64
chmod +x rke_linux-amd64
mv rke_linux-amd64 /bin/rke

##所有节点打通sshkey,此处省略

3.3、rke配置文件内容

nodes:
#master*3
- address: 172.19.8.103
  user: k8suser
  role:
  - controlplane
  - worker
  - etcd
- address: 172.19.8.104
  user: k8suser
  role:
  - controlplane
  - worker
  - etcd
  labels: {app: ingress}
- address: 172.19.8.108
  user: k8suser
  role:
  - controlplane
  - worker
  - etcd
labels: {app: ingress}

services:
  etcd:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
    external_urls: []
    ca_cert: ""
    cert: ""
    key: ""
    path: ""
    uid: 0
    gid: 0
    snapshot: null
    retention: ""
    creation: ""
    backup_config: null
  kube-api:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
    service_cluster_ip_range: 10.43.0.0/16
    service_node_port_range: ""
    pod_security_policy: false
    always_pull_images: false
    secrets_encryption_config: null
    audit_log: null
    admission_configuration: null
    event_rate_limit: null
  kube-controller:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
    cluster_cidr: 10.42.0.0/16
    service_cluster_ip_range: 10.43.0.0/16
  scheduler:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
  kubelet:
    image: ""
    extra_args: {}
    extra_binds:
      - "/usr/libexec/kubernetes/kubelet-plugins:/usr/libexec/kubernetes/kubelet-plugins"
      - "/etc/iscsi:/etc/iscsi"
      - "/usr/libexec/kubernetes/kubelet-plugins/volume/exec:/usr/libexec/kubernetes/kubelet-plugins/volume/exec"
    extra_env: []
    cluster_domain: cluster.local
    infra_container_image: ""
    cluster_dns_server: 10.43.0.10
    fail_swap_on: false
    generate_serving_certificate: false
  kubeproxy:
    image: ""
    extra_args: {}
    extra_binds: []
    extra_env: []
network:
  plugin: canal
  options: {}
  mtu: 0
  node_selector: {}
authentication:
  strategy: x509
  sans:
    - "1xx.19.xx.251"
    - "jpxxx.xxxx.com"
  webhook: null
addons: ""
addons_include: []
system_images:
  etcd: rancher/coreos-etcd:v3.4.3-rancher1
  alpine: rancher/rke-tools:v0.1.56
  nginx_proxy: rancher/rke-tools:v0.1.56
  cert_downloader: rancher/rke-tools:v0.1.56
  kubernetes_services_sidecar: rancher/rke-tools:v0.1.56
  kubedns: rancher/k8s-dns-kube-dns:1.15.0
  dnsmasq: rancher/k8s-dns-dnsmasq-nanny:1.15.0
  kubedns_sidecar: rancher/k8s-dns-sidecar:1.15.0
  kubedns_autoscaler: rancher/cluster-proportional-autoscaler:1.7.1
  coredns: rancher/coredns-coredns:1.6.5
  coredns_autoscaler: rancher/cluster-proportional-autoscaler:1.7.1
  nodelocal: rancher/k8s-dns-node-cache:1.15.7
  kubernetes: rancher/hyperkube:v1.17.5-rancher1
  flannel: rancher/coreos-flannel:v0.11.0-rancher1
  flannel_cni: rancher/flannel-cni:v0.3.0-rancher5
  calico_node: rancher/calico-node:v3.13.0
  calico_cni: rancher/calico-cni:v3.13.0
  calico_controllers: rancher/calico-kube-controllers:v3.13.0
  calico_ctl: rancher/calico-ctl:v2.0.0
  calico_flexvol: rancher/calico-pod2daemon-flexvol:v3.13.0
  canal_node: rancher/calico-node:v3.13.0
  canal_cni: rancher/calico-cni:v3.13.0
  canal_flannel: rancher/coreos-flannel:v0.11.0
  canal_flexvol: rancher/calico-pod2daemon-flexvol:v3.13.0
  weave_node: weaveworks/weave-kube:2.5.2
  weave_cni: weaveworks/weave-npc:2.5.2
  pod_infra_container: rancher/pause:3.1
  ingress: rancher/nginx-ingress-controller:nginx-0.25.1-rancher1
  ingress_backend: rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1
  metrics_server: rancher/metrics-server:v0.3.6
  windows_pod_infra_container: rancher/kubelet-pause:v0.1.3
ssh_key_path: ~/.ssh/id_rsa
ssh_cert_path: ""
ssh_agent_auth: false
authorization:
  mode: rbac
  options: {}
ignore_docker_version: false
kubernetes_version: ""
private_registries: []
ingress:
  provider: ""
  options: {}
  node_selector: {app: ingress}
  extra_args: {}
  dns_policy: ""
  extra_envs: []
  extra_volumes: []
  extra_volume_mounts: []
cluster_name: ""
cloud_provider:
  name: ""
prefix_path: ""
addon_job_timeout: 0
bastion_host:
  address: ""
  port: ""
  user: ""
  ssh_key: ""
  ssh_key_path: ""
  ssh_cert: ""
  ssh_cert_path: ""
monitoring:
  provider: ""
  options: {}
  node_selector: {}
restore:
  restore: false
  snapshot_name: ""
dns: null

1.启动

su - k8suser
cd /etc/rke
rke up

 2.检测集群状态

[root@172-19-8-103 ~]# kubectl get nodes
NAME           STATUS   ROLES                      AGE     VERSION
172.19.8.103   Ready    controlplane,etcd,worker   3m53s   v1.17.5
172.19.8.104   Ready    controlplane,etcd,worker   3m51s   v1.17.5
172.19.8.108   Ready    controlplane,etcd,worker   3m58s   v1.17.5

4、升级

4.1、版本升级

RKE通过更改系统镜像的镜像版本来支持版本升级。

例如,要改变已部署Kubernetes版本,只需在部署Kubernetes集群的cluster.yml中,修改rancher/hyperkube标签从v1.9.7到v1.10.3,

原YAML

system-images:
    kubernetes: rancher/hyperkube:v1.9.7

更新后YAML

system-images:
    kubernetes: rancher/hyperkube:v1.18.3

cluster.yml配置文件更新后,执行rke up升级Kubernetes。

1.升级rke为v1.1.3

https://github.com/rancher/rke/releases/download/v1.1.3/rke_linux-amd64
chmod +x rke_linux-amd64

##备份之前的rke命令进行替换
mv rke_linux-amd64 /bin/rke

##查看可用版本
rke config --system-images --all |grep hyperkube

2.修改后的完整配置如下

system_images:
  etcd: rancher/coreos-etcd:v3.4.3-rancher1
  alpine: rancher/rke-tools:v0.1.58
  nginx_proxy: rancher/rke-tools:v0.1.58
  cert_downloader: rancher/rke-tools:v0.1.58
  kubernetes_services_sidecar: rancher/rke-tools:v0.1.58
  kubedns: rancher/k8s-dns-kube-dns:1.15.2
  dnsmasq: rancher/k8s-dns-dnsmasq-nanny:1.15.2
  kubedns_sidecar: rancher/k8s-dns-sidecar:1.15.2
  kubedns_autoscaler: rancher/cluster-proportional-autoscaler:1.7.1
  coredns: rancher/coredns-coredns:1.6.9
  coredns_autoscaler: rancher/cluster-proportional-autoscaler:1.7.1
  nodelocal: rancher/k8s-dns-node-cache:1.15.7
  kubernetes: rancher/hyperkube:v1.18.3-rancher2
  flannel: rancher/coreos-flannel:v0.12.0
  flannel_cni: rancher/flannel-cni:v0.3.0-rancher6
  calico_node: rancher/calico-node:v3.13.4
  calico_cni: rancher/calico-cni:v3.13.4
  calico_controllers: rancher/calico-kube-controllers:v3.13.4
  calico_ctl: rancher/calico-ctl:v3.13.4
  calico_flexvol: rancher/calico-pod2daemon-flexvol:v3.13.4
  canal_node: rancher/calico-node:v3.13.4
  canal_cni: rancher/calico-cni:v3.13.4
  canal_flannel: rancher/coreos-flannel:v0.12.0
  canal_flexvol: rancher/calico-pod2daemon-flexvol:v3.13.4
  weave_node: weaveworks/weave-kube:2.6.4
  weave_cni: weaveworks/weave-npc:2.6.4
  pod_infra_container: rancher/pause:3.1
  ingress: rancher/nginx-ingress-controller:nginx-0.32.0-rancher1
  ingress_backend: rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1
  metrics_server: rancher/metrics-server:v0.3.6
  windows_pod_infra_container: rancher/kubelet-pause:v0.1.4

 3.执行rke up命令之后验证

[root@172-19-8-103 ~]# kubectl get nodes
NAME           STATUS   ROLES                      AGE   VERSION
172.19.8.103   Ready    controlplane,etcd,worker   81m   v1.18.3
172.19.8.104   Ready    controlplane,etcd,worker   80m   v1.18.3
172.19.8.108   Ready    controlplane,etcd,worker   81m   v1.18.3
0
如无特殊说明,文章均为本站原创,转载请注明出处
  • 转载请注明来源:rke升级k8s集群
  • 本文永久链接地址:https://www.xionghaier.cn/archives/1269.html

该文章由 发布

这货来去如风,什么鬼都没留下!!!
发表我的评论

Hi,请填写昵称和邮箱!

取消评论
代码 贴图 加粗 链接 删除线 签到