Trước khi cài rancher thì bạn cần cài cert-manager.
Nếu bạn lười đọc thì gõ command này để cài:
https://cert-manager.io/docs/installation/
kubectl apply -f https://github.com/jetstack/cert-manager/releases/latest/download/cert-manager.yaml
Vì mình cài bằng ArgoCD nên mình sẽ tạo 1 namespace trước
kubectl create ns cert-manager
Bạn còn phải vài ingress nữa nhé, mình cũng có chỉ rồi nhé
https://notes.nimtechnology.com/2021/07/04/ingress-nginx-install-ingress-nginx-tren-k8s-bang-helm/
Giờ đến cài rancher:
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
kubectl create namespace cattle-system
Ở đây mình sẽ cho rancher tự gen SSL vì Lab của mình ko dư pod 80 tạo ssl bằng letsEncrypt
helm install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=rancher.my.org
hostname=rancher.my.org
Phần hostname khá quan trọng nếu bạn cần chú ý nhé.
Đây là phần mình deploy bằng argocd
https://rancher.com/docs/rancher/v2.x/en/installation/install-rancher-on-k8s/
Còn 1 cách nữa là bản cài rancher lên Docker rồi -> Rancher trên container sẽ gen ra 1 số command
Bạn đem command chạy trên k8s master là Rancher sẽ control cluster của bạn
Mời các bạn ghé tham bài viết sau
https://xuanthulab.net/su-dung-rancher-de-quan-ly-kubernetes-cluster.html
Lưu ý: rancher 2.6 nó ko vào trang quản lý như cũ.
bạn vào vào trang có đuôi “/g/clusters”
https://rancher.my.org/g/clusters
Issues
Update Tue, Jan 4th, 2021
Mình có cái rancher v2.5.11 thì Issuer trong helm ko run được với cert-manager v1.6.1
Bị báo lỗi: the server could not find the requested resource…
Reset Password admin rancher
bạn chỉ cần access vào pod rancher và gõ command
rancher-69595dc9c4-fw2tg:/var/lib/rancher # reset-password W0831 07:47:24.381808 328 client_config.go:617] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work. New password for default admin user (user-f88sh): gkGKqXv5l3nencM2ZHt <<<<=== new password
Recreate if the admin user doesn’t exist.
Trong một số trường hợp khi bạn thực hiện reset pass của rancher admin thì bạn phát hiện ra là user này cũng không tồn tại.
Bạn phải create lại user admin bằng command.
https://github.com/rancher/rancher/issues/30243#issuecomment-881540176
ensure-default-admin
Internal error occurred: failed calling webhook “rancher.cattle.io”
Nếu bạn gặp lỗi:
Unable to connect HTTPS repository: Internal error occurred: failed calling webhook "rancher.cattle.io": failed to call webhook: Post "https://rancher-webhook.cattle-system.svc:443/v1/webhook/mutation?timeout=10s": context deadline exceeded
kubectl delete -n cattle-system MutatingWebhookConfiguration rancher.cattle.io
Failed to connect to peer wss in rancher pods
nếu bạn chạy nhiều rancher pod thì bạn sẽ khả năng gặp đc lỗi này.
[ERROR] Failed to connect to peer wss://10.195.9.217/v3/connect [local ID=10.195.8.167]: websocket: bad handshake
Đại lại các pod rancher sẽ call với nhau thông qua IP của pod
Bạn có thể test bằng cách, đứng từ 1 pod để curl pod IP của con pod rancher khác với port là 80 và 443
sau mình đã cần update terraform eks module
node_security_group_additional_rules = { ingress_self_all = { description = "Node to node all ports/protocols" protocol = "-1" from_port = 0 to_port = 0 type = "ingress" self = true }
lúc này thì mình đã mở all pod từ pod đến pod