Skip to content

Instantly share code, notes, and snippets.

@htekgulds
Created February 23, 2020 09:16
Show Gist options
  • Save htekgulds/ab3bd126390ee8beeb69f6d1c89a3c93 to your computer and use it in GitHub Desktop.
Save htekgulds/ab3bd126390ee8beeb69f6d1c89a3c93 to your computer and use it in GitHub Desktop.
Rancher HA Kurulumu

Gerekenler

Donanım

  • Minimum 4 çekirdek 8GB RAM
  • Herhangi bir Linux sürümü
  • Docker

Yazılım

Aşamalar

RKE ile cluster kurulumu

Aşağıdaki içerikle rancher-cluster.yml dosyasını oluşturun.

nodes:
  - address: ${sunucu ipsi}
    internal_address: ${sunucu ipsi}
    user: ${sunucuya bağlanılacak kullanıcı}
    role: [controlplane, worker, etcd]
    ssh_key_path: /home/kullanici/.ssh/id_rsa

services:
  etcd:
    snapshot: true
    creation: 6h
    retention: 24h

# Required for external TLS termination with
# ingress-nginx v0.22+
ingress:
  provider: nginx
  options:
    use-forwarded-headers: "true"

Sonra rke up --ssh-agent-auth=true --config=./rancher-cluster.yml komutunu çalıştırın. Kubernetes kurulumu başlayacak. "Finished building Kubernetes cluster successfully" ifadesini gördüğünüzde kurulum başarılı olarak bitmiştir. Kurumulu yaptığınız yerde kube_config_rancher-cluster.yml dosyası oluşacak. Bu dosya kubernetes'e bağlanmanız için gerekli bilgileri içermekte.

export KUBECONFIG=$(pwd)/kube_config_rancher-cluster.yml komutunu çalıştırarak kubectl aracına kubernetes ayarlarını gösterin. Sonra kubectl get nodes komutuyla sunucunuzun durumunu görebilirsiniz. Sunucu IP'nizin karşısında Ready yazması gerekiyor.

Helm ile rancher kurulumu

Sıra geldi rancher arayüzünü kurmaya.

helm repo add rancher-stable https://releases.rancher.com/server-charts/stable komutuyla rancher deposunu ekleyin.

kubectl create namespace cattle-system komutuyla rancher için bir namespace oluşturun.

Otomatik Self-signed SSL

Eğer rancher kendi self-signed SSL sertifikalarını üretsin istiyorsanız kubernetes'e cert-manager uygulamasını deploy etmenzi gerekiyor.

Önce kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.12/deploy/manifests/00-crds.yaml komutu ile cert-manager için gerekli nesneleri deploy edin.

Sonra kubectl create namespace cert-manager komutuyla yine ayrı bir namespace oluşturun.

Sonra da helm repo add jetstack https://charts.jetstack.io && helm repo update komutuyla chart deposunu ekleyin.

helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v0.12.0 komutuyla cert-manager'ı deploy edebilirsiniz.

kubectl get pods --namespace cert-manager komutuyla üç podun 1/1 şeklinde çalışıyor olduğundan emin olun. Bu biraz sürebilir.

Kendi sertifikanız varsa

Bu durumda üç adet dosyaya ihtiyacınız var.

  • tls.crt Sertifikanın crt dosyası
  • tls.key Sertifikanın key dosyası
  • cacerts.pem Ana sertifikanın crt dosyası (Bu dosya isteğe bağlı),

Bu dosyaları nasıl üreteceğinizi bilmiyorsanız bu gist'e bakabilirsiniz.

Bu dosyaların kubernetes'e deploy edilmesi gerekiyor. Bunu aşağıdaki komutlarla yapabilirsiniz.

kubectl -n cattle-system create secret tls tls-rancher-ingress --cert=tls.crt --key=tls.key

kubectl -n cattle-system create secret generic tls-ca --from-file=cacerts.pem

Kurulum

Eğer kendi sertifikanız yoksa helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=rancher.my.org komutuyla rancher arayüzünü deploy edebilirsiniz.

Eğer kendi sertifikanızı kullanacaksanız bu komuta --set ingress.tls.source=secret parametresini ekleyebilirsiniz.

Eğer yukarıda bahsedilen cacerts.pem dosyasını da kullanacaksanız ayrıca --set privateCA=true parametresini de eklemeniz gerekiyor.

Burada hostname kısmına kendi kullanacağınız adresi koymanız gerekiyor.

Komut başarılı olursa kubectl -n cattle-system get deploy rancher komutunu çalıştırıp sonucun aşağıdaki gibi olup olmadığını kontrol edin.

NAME      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
rancher   3         3         3            3           3m

Burada önemli olan desired ve current sayılarının aynı olması.

Yukarıdaki komutta hostname=rancher.my.org parametresini vermiştik. https://racnher.my.org adresinden rancher arayüzüne erişebilirsiniz.

Kurulum bu kadar. Kubernetes'inizi kullanmaya başlayabilirsiniz.

Kaynaklar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment