Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.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 Helm跳过istio虚拟服务的创建_Kubernetes_Kubernetes Helm_Istio - Fatal编程技术网

Kubernetes Helm跳过istio虚拟服务的创建

Kubernetes Helm跳过istio虚拟服务的创建,kubernetes,kubernetes-helm,istio,Kubernetes,Kubernetes Helm,Istio,我正在尝试为我的服务创建具有以下结构的掌舵图: . ├── my-app │   ├── Chart.yaml │   ├── templates │   │   ├── deployment.yaml │   │   ├── istio-virtualservice.yaml │   │   └── service.yaml │   └── values.yaml 安装helm图表后,将成功创建部署和服务,但不会创建virtualservice $ helm install -name m

我正在尝试为我的服务创建具有以下结构的掌舵图:

.
├── my-app
│   ├── Chart.yaml
│   ├── templates
│   │   ├── deployment.yaml
│   │   ├── istio-virtualservice.yaml
│   │   └── service.yaml
│   └── values.yaml

安装helm图表后,将成功创建部署和服务,但不会创建virtualservice

$ helm install -name my-app ./my-app -n my-namespace
$ kubectl get pods -n my-namespace
NAME                              READY   STATUS    RESTARTS   AGE
my-app-5578cbb95-xzqzk            2/2     Running   0          5m

$ kubectl get vs
NAME                 GATEWAYS               HOSTS                         AGE
<Empty>
$ kubectl apply -f istio-vs.yaml
$ kubectl get vs
NAME                 GATEWAYS               HOSTS                         AGE
my-virtual-service   [my-api-gateway]   [my-host.com]                     60s

令人惊讶的是,如果我在helm安装完成部署应用程序后应用上述yaml,那么就会创建virtualservice

$ helm install -name my-app ./my-app -n my-namespace
$ kubectl get pods -n my-namespace
NAME                              READY   STATUS    RESTARTS   AGE
my-app-5578cbb95-xzqzk            2/2     Running   0          5m

$ kubectl get vs
NAME                 GATEWAYS               HOSTS                         AGE
<Empty>
$ kubectl apply -f istio-vs.yaml
$ kubectl get vs
NAME                 GATEWAYS               HOSTS                         AGE
my-virtual-service   [my-api-gateway]   [my-host.com]                     60s

请帮助我调试该问题,并让我知道是否需要更多调试信息

$ helm version
version.BuildInfo{Version:"v3.0.1", GitCommit:"7c22ef9ce89e0ebeb7125ba2ebf7d421f3e82ffa", GitTreeState:"clean", GoVersion:"go1.13.4"}
使用

kubectl get vs -n my-namespace
kubectl get vs
而不是

kubectl get vs -n my-namespace
kubectl get vs

这是因为您已经在我的命名空间中部署了所有内容

helm install-命名我的应用程序。/我的应用程序-n我的命名空间

您正在默认名称空间中搜索


当您自己应用它时,它就工作了,因为虚拟服务yaml中没有名称空间,它部署在默认名称空间中


其他信息,我看到您已经部署了,如果它与虚拟服务不在同一名称空间中,您应该像下面的示例中那样添加它

检查
spec.gateways
部分

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo-Mongo
  namespace: bookinfo-namespace
spec:
  gateways:
  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
                                       namespace as virtual service.

我希望这能回答你的问题。如果您还有任何问题,请告诉我。

使用

kubectl get vs -n my-namespace
kubectl get vs
而不是

kubectl get vs -n my-namespace
kubectl get vs

这是因为您已经在我的命名空间中部署了所有内容

helm install-命名我的应用程序。/我的应用程序-n我的命名空间

您正在默认名称空间中搜索


当您自己应用它时,它就工作了,因为虚拟服务yaml中没有名称空间,它部署在默认名称空间中


其他信息,我看到您已经部署了,如果它与虚拟服务不在同一名称空间中,您应该像下面的示例中那样添加它

检查
spec.gateways
部分

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo-Mongo
  namespace: bookinfo-namespace
spec:
  gateways:
  - some-config-namespace/my-gateway # can omit the namespace if gateway is in same
                                       namespace as virtual service.


我希望这能回答你的问题。如果您还有任何问题,请告诉我。

您是否看到使用
--dry run-o yaml
呈现的virtualservice?是的,我在dry run中看到了。我还尝试了
helm模板。/my app | kubectl apply-n my ns-f-
,但虚拟服务仍没有创建。您是否看到使用
--dry run-o yaml
呈现的虚拟服务?是的,我在dry run中得到了。我还尝试了
helm template./my app | kubectl apply-n my ns-f-
,但虚拟服务仍然没有创建。好的,vs正在指定的命名空间中创建,我错过了。但是
spec.gateways
中的位有助于使事情正常运行。谢谢。好的,vs是在指定的名称空间中创建的,我错过了。但是
spec.gateways
中的位有助于使事情正常运行。谢谢