《 Kubebuilder v2 使用指南 》-P8-踩到的坑

前言

一路下来踩了不少坑,有一些没有印象了,还有印象的就记录下来,想起来再补充.

metadata.resourceVersion: Invalid value: 0x0: must be specified for an update

对unit执行scale的时候报错:

#~ kubectl scale unit unit-sample --replicas=2
The unit "unit-sample" is invalid: metadata.resourceVersion: Invalid value: 0x0: must be specified for an update

原因:

kubectl v1.15独有的bug,更换更低或更高版本的kubectl可解决

Invalid value: “Webhook”: must be None if spec.preserveUnknownFields is true

kubectl apply CustomResourceDefinition实例时抛出的错误

原因:

CustomResourceDefinition.spec.preserveUnknownFields字段的默认值是true,这时,如果存在未按照openAPI规定标记的未知字段,那么就会抛出此错误。这是一个bug,可以通过明确指定此字段值为false绕过,K8s v1.17版本才得到彻底解决。

cert manager

kubebuilder官方文档中所介绍的是,部署Cert Manager这个三方组件,Cert Manager专门用于帮助应用取得CA的授权、证书注入等操作,可以实现注入的自动化,无需手动参与:

Deploying the cert manager

Cert Manager官方文档

然而大跌眼镜的却是,我按照两边的文档来尝试进行CA认证授权,无论如何尝试,最终获取的证书工作起来都是报错x509 certificate signed by unknown authority。猜测毕竟双方并不是同一进度同一团队的项目,可能存在版本对接上的问题,在这里困扰了好几天,最终不得不放弃,改为手动签发证书,后面的朋友可以先尝试Cert manager方式,如果届时可行,请告知我。

你可能感兴趣的:(kubernetes,Go,Kubebuilder)