我正在研究在Go中监视MutatingAdmissionWebhook对象的Deployment。 Webhook正在运行,并且可以正确接收请求。

我正在尝试通读Deployment-> Spec-> Container-> env List。

我可以获取环境列表,但是我为这些环境变量定义了ConfigMapKeyRef,它以nil的形式出现。

当我转储ValueFrom时,这就是我得到的

%!(EXTRA *v1.EnvVarSource=&EnvVarSource{FieldRef:nil,ResourceFieldRef:nil,
ConfigMapKeyRef:nil,SecretKeyRef:&SecretKeySelector{
LocalObjectReference:LocalObjectReference{Name:myuser,},Key:username,Optional:nil,},})

我期望在ConfigMap中找到ConfigMapKeyRef的全名。

我正在运行Kubernetes Client v1.14.0

有什么解决的办法吗?

谢谢,

-斯雷尼

最佳答案

这意味着对象引用未设置为对象的实例。

这是类似的问题:NilReferenceException

防止零引用异常的提示

  • 用有效值初始化变量。
  • 如果变量可以为null,则检查nill并适当地处理它
  • 使用?在可能的情况下对方法进行操作。 stringvar?.ToUpper();
  • 使用Resharper之类的工具来指出潜在的nill参考异常

  • 有用的文章:admission-webhooks

    准入 Controller 文档:admission-controller

    关于kubernetes - 在AdmissionController中没有为环境条目获取ConfigMapKeyRef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57460582/

    10-11 07:16