要解决AdmissionController没有获取到环境变量条目的ConfigMapKeyRef的问题,你需要确保以下几点:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config-map
data:
MY_ENV_VAR: my-value
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: my-admission-controller
webhooks:
- name: my-webhook
rules:
- operations: ['CREATE']
apiGroups: ['']
apiVersions: ['v1']
resources: ['pods']
failurePolicy: Fail
clientConfig:
service:
name: my-admission-controller-service
namespace: my-namespace
path: "/mutate"
caBundle: |-
namespaceSelector:
matchLabels:
my-label: my-value
objectSelector:
matchLabels:
my-label: my-value
sideEffects: None
admissionReviewVersions: ["v1beta1"]
patch:
patchType: "JSONPatch"
configuration:
kind: ConfigMap
name: my-config-map
namespace: my-namespace
key: MY_ENV_VAR
在上面的示例中,注意到configuration
部分指定了ConfigMap的名称、命名空间和要获取的环境变量条目的键。
kubectl get configmap my-config-map -n my-namespace
确保ConfigMap存在并且AdmissionController所在的命名空间是正确的。
如果你仍然遇到问题,可以查看AdmissionController的日志,以获取更多详细信息。