整体学习是按照下边这个链接进行的
1.k8s集群配置好后无法访问https://124.70.84.xx:6443/apis/,返回401或403Forbidden
解决:k8s设置不允许匿名访问,测试环境直接开启允许匿名访问
kubectl create clusterrolebinding test:anonymous --clusterrole=cluster-admin --user=system:anonymous
2.javaclient初始化使用,kube/config连接超时
解决:,kube/config中的ip默认是集群内访问ip,要是想要集群外访问需要使用服务器的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
这个问题查了一下是官方的错误,结果如下,状态类的转换出现错误,解决方法就是直接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文件有一些属性版本不兼容(或者是权限不兼容),没有深究,例如使用idea放入yaml文件时,会有一些属性变灰且提示不能被用户使用,
解决:将变灰的属性全部删除即可