-
跟着教程:使用kubebuilder开发operator详解出现:
国内无法访问该ip,需要设置go env: go env=GOPROXY=https://goproxy.c
查看go env:
修改镜像后仍然无法解决:借鉴该问题https://github.com/goproxy/goproxy.cn/issues/93
修改Dockefile文件,在RUN go mod download前添加ENV GOPROXY=https://goproxy.cn -
继续执行 make docker-build,出现以下报错
–最好指定将制作的镜像推送到docker hub上,然后在部署时可以从docker hub上获取镜像
–否则,可以使用kind创建本地k8s集群,修改/.kube/config中连接的k8s集群配置
按照https://blog.csdn.net/shuaihj/article/details/123022325 设置后解决 -
执行 make deploy出现如下错误
Error: var ‘{CERTIFICATE_NAME cert-manager.io_v1_Certificate {metadata.name}}’ cannot be mapped to a field in the set of known resources · Discussion #2269 · kubernetes-sigs/kubebuilder · GitHub
参考: https://github.com/kubernetes-sigs/kubebuilder/discussions/2269
查看环境中的kustomize版本号发现:
直接在官网安装最新版本:
https://kubectl.docs.kubernetes.io/installation/kustomize/binaries/
替换kustomize 为官网下载版本,问题解决----kustomize源码制作的版本不太对导致
-
镜像拉取失败:make docker-builder将镜像部署在本地docker,远程minikube集群中的docker没有该镜像
将本地镜像导出,然后scp到minikube集群,在docker导入
查看该pod创建时使用的镜像拉取策略为:always
kubectl -n podsbook-system get deploy/podsbook-controller-manager -oyaml
修改策略:
- 在config/manager/manager.yaml文件的image: controller:latest下添加:
imagePullPolicy: IfNotPresent
2)或者:
kubectl -n podsbook-system edit deploy/podsbook-controller-manager -oyaml
继续查看,Back-off pulling image “gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0”
借鉴https://blog.csdn.net/shenghuiping2001/article/details/125354590
1)修改本地文件:config/default/manager_auth_proxy_patch.yaml中修改gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 >> kubesphere/kube-rbac-proxy:v0.8.0
继续执行,提示如下错误:
修改config/manager/manager.yaml中的 securityContext.runAsNonRoot为false
继续查看: