1# Rancher Upgrade

Benim yapımda Rancher aracı Docker üzerinde çalışmaktadır. Persistent volume olarak local bir dizin işaretlenmiştir. Bu dizin Rancher yedeğini almamı veya failover olarak farklı sunuculara taşımamı kolaylaştırıyor. Docker volume ile uğraşmama gerek kalmıyor.

Rancher sunucum aşağıdaki dizine dataları saklamaktadır.

/opt/rancher

Rancher kurulumunu nasıl yaptığıma dair bilgiyi aşağıdaki yazımda bulabilirsiniz.

Çalışan Rancher container’ını durduralım.

docker stop 433e8ef17668

Container içerisindeki dataların bir kopyasını oluşturalım.

docker create --volumes-from 433e8ef17668 --name rancher-data rancher/rancher:latest

Verilerimizi her olasılığa karşı yedekleyelim.

docker run --volumes-from rancher-data -v "$PWD:/backup" --rm busybox tar zcvf /backup/rancher-data-backup-14-04-2022.tar.gz /var/lib/rancher

Oluşan yedek dosyasını harici bir dizinde tutmayı ihmal etmeyin.

Şimdi Rancher sunucusuna yeni versiyonu çekeceğiz.

docker pull rancher/rancher:latest

Şimdi tekrardan yeni bir container kaldıralım. Burada dikkat etmeniz gereken nokta dataları tuttuğum dizin. Eğer siz bu dizinde datalarınızı tutmuyorsanız komutu kendinize göre değiştirebilirsiniz.

docker run -d --restart=unless-stopped \
 -p 80:80 -p 443:443 \
 -v /opt/rancher:/var/lib/rancher \
 --privileged \
 rancher/rancher:latest

Bir süre geçtikten sonra Rancher tekrardan ayağı kalkıyor ve son versiyonda çalıştığını görüyoruz. Datalarımız da olduğu yerde duruyor.

image

2# Upgrading the Kubernetes version and Kubelet pods limit on Rancher

Arayüze giriş yaptıktan sonra sol menüden > “Cluster Management” kısmına tıklıyoruz.

image 1

Ardından sağ taraftaki üç noktaya basıp > Edit Config seçeneğine tıklıyoruz.

image 2

Açılan sayfada “Cluster Options” bölümünde kubernetes versiyonunuzu seçin.

image 3

Daha sonra aynı sayfada bulunan “Edit as YAML” butonuna tıklayın.

image 4

YAML içerisindeki komutları aşağıdaki gibi düzenleyin ardından “Save” butonuna basın.

NOT: Max-pods kısmındaki sayı Worker başına maksimum podu ifade eder. Donanımıza göre bunu istediğiniz gibi limitleyebilirsiniz. Default olarak 110 geliyor.

image 5
kubelet:
      extra_args:
        max-pods: '500'
      fail_swap_on: false
      generate_serving_certificate: false

Bir süre nodelar drain olup, yükseltilip tek tek açılacaktır. Uygulamalarınızda erişim kesintisi yaşamayacaksınız. Bu işlemi duraksatmayın veya sunucularınıza müdahale etmeyin.

image 6

Yapılan tüm işlemlerde sorumluluk size aittir.