kubenetes(k8s) 使用java client遇到的問題記錄

整體學習是按照下邊這個鏈接進行的

使用 Java 操作 Kubernetes API

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文件時,會有一些屬性變灰且提示不能被用戶使用,

解決:將變灰的屬性全部刪除即可


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容