- Minimum 4 çekirdek 8GB RAM
- Herhangi bir Linux sürümü
- Docker
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.
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.
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.
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
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.