谁能澄清您可以在Azure AKS中为其他名称空间指定KUBERNETES_SERVICE_HOST的地方吗? Kube系统正确,其他名称空间不正确

时间:2020-06-17 07:41:25

标签: kubernetes azure-aks

在kube系统中部署容器时,您可以看到正在使用的masternode api的fqdn。 创建命名空间并部署相同的容器时,它是带有Index1 From_date To_date A 2001 2003 B 2005 2007 环境变量的内部ip的kubernetes服务。

我们不能在AKS中使用Index1 Year A 2001 A 2002 A 2003 B 2005 B 2006 B 2007 ,所以我不知道如何为新Pod设置此环境变量。 在此命名空间中使用Pod进行Pod部署,因此您不能以Helm在部署中使用它的方式设置此环境变量。

2 个答案:

答案 0 :(得分:1)

Kubernetes Container Environment为容器提供了一些重要资源,其中之一是:

  • 创建容器时正在运行的所有服务的列表可用作该容器的环境变量。这些环境变量与Docker链接的语法匹配。

对于映射到名为bar的Container的名为foo的服务,定义了以下变量:

FOO_SERVICE_HOST=0.0.0.0(服务foo的IP地址)

FOO_SERVICE_PORT=65535(服务foo的端口)

  • XXX_SERVICE_PORT是根据容器创建时可用于容器的服务自动生成的。

在kube系统中部署容器时,您可以看到正在使用的masternode api的fqdn。创建命名空间并部署相同的容器时,它是带有内部ip的kubernetes服务,用于KUBERNETES_SERVICE_HOST环境变量。

  • 由于kubernetes.default服务是主API的中继代理,因此它应同时起作用,请查看该服务的说明:
$ k describe svc kubernetes
Name:              kubernetes
Namespace:         default
Labels:            component=apiserver
                   provider=kubernetes
Annotations:       <none>
Selector:          <none>
Type:              ClusterIP
IP:                10.21.0.1
Port:              https  443/TCP
TargetPort:        443/TCP
Endpoints:         10.54.240.1:443
Session Affinity:  None
Events:            <none>

$ kubectl cluster-info
Kubernetes master is running at https://10.54.240.1
  • kubernetes.default服务的端点是主API IP,因此,如果您的部署未按预期工作,则可能会出现另一个问题。

您还可以按照@djsly答案中给出的说明,在prom-op github上打开问题,投票给podPreset使其在AKS上可用,甚至尝试与其他云提供商(例如提供免费套餐,因此您可以尝试)。

如果您还有其他问题,请告诉我们。

答案 1 :(得分:0)

AKS确实还不支持PodPreset。

我建议您对以下反馈进行投票:https://feedback.azure.com/forums/914020-azure-kubernetes-service-aks/suggestions/35054089-support-podpreset-alpha-feature

现在,我要说的唯一方法是通过支持更新您要覆盖的Pod上的ENV来扩充Prometheus-operator图表。图表上的“拉取请求”通常很快就会被接受。

https://github.com/helm/charts/tree/master/stable/prometheus-operator

或您认为图表中定义的任何要求都缺少支持。