k8s集群問題記錄
主要學習路徑:
rancher(k8s)->rke->helm->kubectl->k8s(k8s中文api)
常見問題總結:
-
怎么解決簡單就怎么解決例如
rancher的安裝使用helm安裝有問題,官網有bug就使用docker的方式安裝一樣簡便,只是個客戶端沒必要死扣
-
對於由於環境問題引起的問題的 排查
./rke up 啟動過程中提示有備份,這時候思路應該是路徑或者環境變量中有殘留文件導致失敗
-
大框架學習思路
從周邊應用入手由應用帶動學習內部構件。例如本次學習k8s,先起手一鍵式環境安裝工具rancher,而后因為部署節點問題進一步研究一鍵式部署環境rke部署k8s,再進一步進行部署集群中的應用遇到問題學習helm,在進一步進行與部署應用進行交互和排查故障學習kubectl,進而了解和學習k8s全貌。現研究大框架使用帶來的問題解決方案,再以此細化研究采用逐層的方式一步步深入。達到對k8s整個樣貌的學習。
思考:
采用繪圖工具進行抽象交互繪制,職能圖繪制
采用時序圖進行功能單元交互繪制
細節問題
-
kubectl 連接交互rke生成k8s問題
使用rke構建k8s集群會生成用於kubectl交互k8s的配置文件xxx-cluster-xxxconfig.yaml,通過kubectl通過此配置文件連接到k8s集群中進行日常排查工作。
x509: certificate signed by unknown authority (possibly because of \"crypto/rsa while trying to verify candidate authority certificate "kube-ca
-
證書簽名問題
當./rke up啟動的時候會創建 /etc/kubernetes 目錄,如果已經有此目錄就不會重新覆蓋,里邊包含了ssl 文件就不會更新成最新的導致etc 老是檢查失敗從而導致錯誤的發生。刪除此目錄,運行./rke up讓這個目錄重新生成就可以保證沒有問題了。
Error from server (AlreadyExists): clusterrolebindings.rbac.authorization.k8s.io "cluster-admin-binding" already exists
3.進行集群導入到rancher的時候殘留配置文件導致導入失敗
sudo kubectl get clusterrolebindings cluster-admin-binding -o yaml
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding
metadata: creationTimestamp: "2020-02-10T13:35:42Z" name:
cluster-admin-binding resourceVersion: "35967" selfLink:
/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/cluster-admin-binding
uid: d3c207d2-4adc-4e3e-951d-48c5ad99eeaa roleRef: apiGroup:
rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io kind: User name: lishikai
sudo kubectl delete clusterrolebindings cluster-admin-binding
clusterrolebinding.rbac.authorization.k8s.io "cluster-admin-binding"
deleted
重新進行集群導入
常用命令學習以及使用