整體學習是按照下邊這個鏈接進行的
1.k8s集群配置好后無法訪問https://124.70.84.xx:6443/apis/,返回401或403Forbidden
解決:k8s設(shè)置不允許匿名訪問,測試環(huán)境直接開啟允許匿名訪問
kubectl create clusterrolebinding test:anonymous --clusterrole=cluster-admin --user=system:anonymous
2.javaclient初始化使用,kube/config連接超時
解決:,kube/config中的ip默認是集群內(nèi)訪問ip,要是想要集群外訪問需要使用服務(wù)器的ip,直接使用ip和token方式登錄即可
new ClientBuilder().setBasePath(url).setVerifyingSsl(false).setAuthentication(new AccessTokenAuthentication(token)).build();
3.deleteNamespacedPod(以及其他delete操作)雖然能夠刪除成功,但是返回state異常
Expected a string but was BEGIN_OBJECT at line 71 column 14 path $.status
這個問題查了一下是官方的錯誤,結(jié)果如下,狀態(tài)類的轉(zhuǎn)換出現(xiàn)錯誤,解決方法就是直接catch掉這個異常......

4.使用yaml.load()載入yaml文件時,報錯顯示無法生成對象,載入失敗
Cannot create property=spec for JavaBean=class V1Deployment { apiVersion: apps/v1 kind: Deployment metadata: class V1ObjectMeta { annotations: {deployment.kubernetes.io/revision=1} clusterName: null

這個錯誤查了好久才解決,原因是使用kubectl 輸出的yaml文件有一些屬性版本不兼容(或者是權(quán)限不兼容),沒有深究,例如使用idea放入yaml文件時,會有一些屬性變灰且提示不能被用戶使用,
解決:將變灰的屬性全部刪除即可
