架構:
前提條件:
k8s集群版本必須是1.15.x, 1.16.x, 1.17.x, or 1.18.x
必須有默認的storageclass
內存和cpu最低要求:CPU > 1 Core, Memory > 2 G
安裝並設置默認storageclass略過,可以看之前的我發過的博客https://www.cnblogs.com/lfl17718347843/p/14131062.html
1.安裝yaml文件 (先安裝第一個,再安裝第二個)
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml
2.查看安裝日志 (其實不看日志也行,只要所有pod都是running狀態就行,如果網絡慢,可能就慢點。)
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
3.查看所有pod
kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
default nfs-client-provisioner-6d4469b5b5-bh6t9 1/1 Running 0 31m
kube-system coredns-66bff467f8-rkb9n 1/1 Running 0 73m
kube-system coredns-66bff467f8-rtbnt 1/1 Running 0 73m
kube-system etcd-master1 1/1 Running 0 74m
kube-system etcd-master2 1/1 Running 0 66m
kube-system etcd-master3 1/1 Running 0 65m
kube-system kube-apiserver-master1 1/1 Running 0 74m
kube-system kube-apiserver-master2 1/1 Running 0 67m
kube-system kube-apiserver-master3 1/1 Running 1 64m
kube-system kube-controller-manager-master1 1/1 Running 1 74m
kube-system kube-controller-manager-master2 1/1 Running 0 67m
kube-system kube-controller-manager-master3 1/1 Running 0 65m
kube-system kube-flannel-ds-6hnzh 1/1 Running 0 64m
kube-system kube-flannel-ds-88kl4 1/1 Running 0 64m
kube-system kube-flannel-ds-p79jk 1/1 Running 0 64m
kube-system kube-flannel-ds-vkbjw 1/1 Running 0 64m
kube-system kube-proxy-9bjb5 1/1 Running 0 73m
kube-system kube-proxy-9smdl 1/1 Running 0 67m
kube-system kube-proxy-hdgrp 1/1 Running 0 66m
kube-system kube-proxy-vxm96 1/1 Running 0 65m
kube-system kube-scheduler-master1 1/1 Running 1 74m
kube-system kube-scheduler-master2 1/1 Running 0 67m
kube-system kube-scheduler-master3 1/1 Running 0 65m
kube-system snapshot-controller-0 1/1 Running 0 18m
kubesphere-controls-system default-http-backend-857d7b6856-jpdfk 1/1 Running 0 18m
kubesphere-controls-system kubectl-admin-58f985d8f6-b6v8d 1/1 Running 0 10m
kubesphere-monitoring-system alertmanager-main-0 2/2 Running 0 15m
kubesphere-monitoring-system alertmanager-main-1 2/2 Running 0 15m
kubesphere-monitoring-system alertmanager-main-2 2/2 Running 0 15m
kubesphere-monitoring-system kube-state-metrics-95c974544-qxvmn 3/3 Running 0 16m
kubesphere-monitoring-system node-exporter-6rsh2 2/2 Running 0 16m
kubesphere-monitoring-system node-exporter-fzccb 2/2 Running 0 16m
kubesphere-monitoring-system node-exporter-jjw99 2/2 Running 0 16m
kubesphere-monitoring-system node-exporter-lnk9f 2/2 Running 0 16m
kubesphere-monitoring-system notification-manager-deployment-7c8df68d94-r2rrf 1/1 Running 0 3m57s
kubesphere-monitoring-system notification-manager-deployment-7c8df68d94-wzv5h 1/1 Running 0 3m57s
kubesphere-monitoring-system notification-manager-operator-6958786cd6-msgn7 2/2 Running 0 16m
kubesphere-monitoring-system prometheus-k8s-0 3/3 Running 1 15m
kubesphere-monitoring-system prometheus-k8s-1 0/3 Pending 0 15m
kubesphere-monitoring-system prometheus-operator-84d58bf775-q7h5h 2/2 Running 0 16m
kubesphere-system ks-apiserver-7769cf4cd9-95rwh 1/1 Running 0 9m32s
kubesphere-system ks-apiserver-7769cf4cd9-v5k6q 1/1 Running 0 13m
kubesphere-system ks-apiserver-7769cf4cd9-zpnk2 1/1 Running 0 16m
kubesphere-system ks-console-786b9846d4-6g6rm 1/1 Running 0 17m
kubesphere-system ks-console-786b9846d4-ctqqc 1/1 Running 0 17m
kubesphere-system ks-console-786b9846d4-grrcx 1/1 Running 0 17m
kubesphere-system ks-controller-manager-7b4b88b75-2lhv4 1/1 Running 0 16m
kubesphere-system ks-controller-manager-7b4b88b75-7h57t 1/1 Running 0 8m50s
kubesphere-system ks-controller-manager-7b4b88b75-xncc9 1/1 Running 0 4m26s
kubesphere-system ks-installer-7cb866bd-c9v9t 1/1 Running 0 19m
kubesphere-system openldap-0 1/1 Running 0 18m
kubesphere-system openldap-1 1/1 Running 0 11m
kubesphere-system redis-ha-haproxy-5c6559d588-78xlz 1/1 Running 4 18m
kubesphere-system redis-ha-haproxy-5c6559d588-qcrtf 1/1 Running 4 18m
kubesphere-system redis-ha-haproxy-5c6559d588-vxhkg 1/1 Running 5 18m
kubesphere-system redis-ha-server-0 2/2 Running 0 18m
kubesphere-system redis-ha-server-1 2/2 Running 0 14m
kubesphere-system redis-ha-server-2 2/2 Running 0 10m
4.登陸kubesphere
ip:30880
用戶名:admin
默認密碼:P@88w0rd
5、如果提示account is not active執行下面命令即可解決問題
kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/2c4b479ec65110f7910f913734b3d069409d72a8/roles/ks-core/prepare/files/ks-init/users.iam.kubesphere.io.yaml
kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/2c4b479ec65110f7910f913734b3d069409d72a8/roles/ks-core/prepare/files/ks-init/webhook-secret.yaml
kubectl -n kubesphere-system rollout restart deploy ks-controller-manager
詳解:
1、kubesphere 安裝完成后會創建默認賬戶admin/P@88w0rd,待ks-controller-manager啟動就緒,user controller 會將 user CRD中定義的password加密,user會被轉換為active狀態,至此賬戶才可以正常登錄。
2、當安裝完成后遇到默認賬戶無法登錄,看到account is not active相關錯誤提示時,需要檢查ks-controller-manager的運行狀態和日志。
存儲、網絡問題:
1、user controller 依賴的外部服務有openldap和jenkins,在依賴服務不正常的情況下controller會一直reconcile,user CRD狀態無法正常維護,導致賬戶無法登錄。
2、可以通過 ks-controller-manager 日志和查詢pod運行狀態查找問題。
經常出現的錯誤:存儲配置錯誤、數據丟失、集群網絡不通。