首页 > 解决方案 > configmap 不适用于服务和 loadBalancerIP

问题描述

我使用以下 Kubernetes API。Configmap 不适用于服务和负载均衡器。

这是代码 -

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-resource-group: Resource_group
    valueFrom :
      configMapKeyRef :
        name : app-configmap
        key : Resource_group
  name: appliance-ui
spec:
  loadBalancerIP: Static_public_ip
  valueFrom :
    configMapKeyRef :
      name : app-configmap
      key : Static_public_ip
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: appliance-ui

这是错误 -

error: error validating "ab.yml": error validating data: [ValidationError(Service.metadata.annotations.valueFrom): invalid type for io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta.annotations: got "map", expected "string", ValidationError(Service.spec): unknown field "valueFrom" in io.k8s.api.core.v1.ServiceSpec]; if you choose to ignore these errors, turn validation off with --validate=false

我试过 --validate=false。它没有用。请让我知道 configmap 是否适用于 service 和 loadBalancerIP 字段。

标签: kubernetesazure-aksazure-load-balancerconfigmap

解决方案


不幸的是,您无法Service通过 为清单配置特定值configMapKeyRef。AFAIKConfigMap应该挂载到 Pod(container) 以引用这些值,因此它不允许除 Pod 之外的其他资源。有关详细信息,请参阅配置 Pod 以使用 ConfigMapConfigMap 和Pod 。


推荐阅读