Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 库伯内特斯装置_Kubernetes_Kubernetes Helm - Fatal编程技术网

Kubernetes 库伯内特斯装置

Kubernetes 库伯内特斯装置,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我想在库伯内特斯建立我的微服务生态系统。我有一个环境,比如说测试,我在其中部署了app1、app2、app3和DB。数据库在服务之间共享。假设我的所有服务都部署在名为“stable”的命名空间中。现在我有了另一个名为“dev”的名称空间,其中我只部署了app1。 现在,我想从“dev”名称空间中的app1访问“stable”名称空间中的app2和DB,如果它们都没有部署在“dev”名称空间中的话。i、 e当我尝试从dev名称空间访问任何服务时,它应该尝试在同一名称空间中连接,如果不存在,它应该转

我想在库伯内特斯建立我的微服务生态系统。我有一个环境,比如说测试,我在其中部署了app1、app2、app3和DB。数据库在服务之间共享。假设我的所有服务都部署在名为“stable”的命名空间中。现在我有了另一个名为“dev”的名称空间,其中我只部署了app1。
现在,我想从“dev”名称空间中的app1访问“stable”名称空间中的app2和DB,如果它们都没有部署在“dev”名称空间中的话。i、 e当我尝试从dev名称空间访问任何服务时,它应该尝试在同一名称空间中连接,如果不存在,它应该转到“稳定”


我希望实现跨命名空间的通信,条件是如果当前命名空间中不存在,则重定向到下一个命名空间。有可能吗?

您需要一个负载平衡器服务,其中包含为此类故障切换定义的所有上游。如果您希望集中配置,可以使用Istio实现。

Kubernetes支持查找服务的两种主要模式—“环境变量”和“DNS”。当您试图连接不同名称空间中的服务时,应该使用完全限定的svc名称(带名称空间的sv名称),如您的_svc1.namespace2.svc.cluster.local

根据文件:

创建服务时,它会创建相应的DNS条目。此条目的格式为..svc.cluster.local,这意味着如果容器仅使用,它将解析为命名空间的本地服务。这对于跨多个名称空间(如开发、登台和生产)使用相同的配置非常有用。如果要跨名称空间访问,则需要使用完全限定域名(FQDN)。有关“”的详细信息

您还可以使用“”,其中端点可以由用户定义。另一个例子是带有

根据第二个问题,请参考“Pod的DNS策略”

当您需要调整resolv.conf中配置的上游名称服务器或搜索域后缀时,它会很有帮助。您可以在pod创建期间使用dnsConfig选项执行此操作,如下面的示例所示。你可以找到更多的信息

apiVersion: v1
kind: Pod
metadata:
  namespace: default
  name: dns-example
spec:
  containers:
    - name: test
      image: nginx
  dnsPolicy: "None"
  dnsConfig:
    nameservers:
      - 1.2.3.4
    searches:
      - ns1.svc.cluster.local
      - ns2.svc.cluster.local
    options:
      - name: ndots
        value: "2"
      - name: edns0