Jenkins 如何在jelastic上托管的kubernetes中配置服务入口?

Jenkins 如何在jelastic上托管的kubernetes中配置服务入口?,jenkins,kubernetes,kubernetes-ingress,jelastic,Jenkins,Kubernetes,Kubernetes Ingress,Jelastic,事情是这样的。我在我的Jelast帐户上安装了kubernetes群集,如下所示: 然后,我想向集群外部公开一个服务。HelloWorld在集群上是开箱即用的,所以我想我可以很容易地将它转换为我的需要。安装群集后,浏览 my-helloworld-test.my-jelastic-provider.com 工作非常好,也就是说,我看到了带有样式的hello world html页面 现在,在我未来的用例中,我希望通过 my-helloworld-test.my-jelastic-provide

事情是这样的。我在我的Jelast帐户上安装了kubernetes群集,如下所示:

然后,我想向集群外部公开一个服务。HelloWorld在集群上是开箱即用的,所以我想我可以很容易地将它转换为我的需要。安装群集后,浏览

my-helloworld-test.my-jelastic-provider.com
工作非常好,也就是说,我看到了带有样式的hello world html页面

现在,在我未来的用例中,我希望通过

my-helloworld-test.my-jelastic-provider.com/hello

i、 我想为我的服务或子域设置一个路径。我想我需要定义一个入口来实现这一点。我已将hello kubernetes服务配置更改为:

kind: Service
apiVersion: v1
metadata:
  name: hello-kubernetes
  namespace: default
spec:
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: hello-kubernetes
  type: ClusterIP
  sessionAffinity: None
  externalTrafficPolicy: Cluster
服务路径 我尝试按照入口配置定义我的服务路径:

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: helloworld
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/ssl-redirect: 'false'
spec:
  rules:
    - http:
        paths:
          - path: /hello
            backend:
              serviceName: hello-kubernetes
              servicePort: 80
目标是浏览

my-helloworld-test.my-jelastic-provider.com/hello
显示预部署的helloworld应用程序,而不是

my-helloworld-test.my-jelastic-provider.com
我可以这样编写helloworld应用程序,即它的基本url为/hello,但我从几个博客中了解到,kubernetes注释可以让这种情况发生。特别是,注释nginx.ingres.kubernetes.io/rewrite-target似乎会有所帮助,但我无法完全做到这一点。实际上,当我浏览/hello路径时,上面的配置向我显示了helloworld应用程序,但没有设置样式:

我如何才能使造型发生

要服务的子域 该服务的另一个性感的可能性是在浏览时显示出来

hello.my-helloworld-test.my-jelastic-provider.com
i、 e.作为我的Jelast环境的子域。我尝试了此配置,但未成功:

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: jenkins
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: 'false'
spec:
  rules:
    - http:
        paths:
          - host: hello.my-helloworld-test.my-jelastic-provider.com
            path: /
            backend:
              serviceName: hello-kubernetes
              servicePort: 80
我需要对我的Jelast环境做些什么,以便上面的主机可以浏览并展示helloworld应用程序

库伯内特斯构型
在jelastic v.5.7上。

看起来有两个不同的问题

你确定那个域名 hello.my-helloworld-test.my-jelastic-provider.com正在关注 正确的IP?可以将自定义子域添加到 环境,然后将其用于入口规则,但该选项 自定义子域现在仅通过 nginx.ingres.kubernetes.io/rewrite-target的注释参数不正确,如果使用nginx-ingres控制器,请尝试此参数 种类:入口 apiVersion:extensions/v1beta1 元数据: 姓名:helloworld 名称空间:默认值 注释: kubernetes.io/ingres.class:nginx nginx.ingres.kubernetes.io/rewrite-target://2美元 nginx.ingres.kubernetes.io/ssl-redirect:'false' 规格: 规则: -http: 路径: -路径:/hello/|$* 后端: 你好,库伯内特斯
servicePort:80看起来有两个不同的问题

你确定那个域名 hello.my-helloworld-test.my-jelastic-provider.com正在关注 正确的IP?可以将自定义子域添加到 环境,然后将其用于入口规则,但该选项 自定义子域现在仅通过 nginx.ingres.kubernetes.io/rewrite-target的注释参数不正确,如果使用nginx-ingres控制器,请尝试此参数 种类:入口 apiVersion:extensions/v1beta1 元数据: 姓名:helloworld 名称空间:默认值 注释: kubernetes.io/ingres.class:nginx nginx.ingres.kubernetes.io/rewrite-target://2美元 nginx.ingres.kubernetes.io/ssl-redirect:'false' 规格: 规则: -http: 路径: -路径:/hello/|$* 后端: 你好,库伯内特斯
servicePort:80Kubernetes的版本是什么?你有防火墙规则吗?为了确保,您正在尝试将ClusterIP用于Ingress?我重新表述了我的问题,并添加了kubernetes配置详细信息。我没有防火墙规则,我正在尝试将ClusterIP用于入口。您使用的是什么kubernetes版本?你有防火墙规则吗?为了确保,您正在尝试将ClusterIP用于Ingress?我重新表述了我的问题,并添加了kubernetes配置详细信息。我没有防火墙规则,我正在尝试将ClusterIP与入口一起使用。谢谢你有用的回复。但是,您建议的入口配置不适合我。我仍然使用相同的无样式html页面。我已经测试了你的第一个子域方案。我安装并使用了我在问题中发布的带有主机名的入口。当我浏览hello.my-helloworld-test.my-jelastic-provider.com时,收到502服务器响应。感谢您的有用回复。但是,您建议的入口配置不适合我。我仍然使用相同的无样式html页面。我已经测试了你的第一个子域方案。我安装并使用了我在问题中发布的带有主机名的入口。当我浏览hello.my-helloworld-test.my-jelastic-provider.com时,会收到502服务器响应。
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: jenkins
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: 'false'
spec:
  rules:
    - http:
        paths:
          - host: hello.my-helloworld-test.my-jelastic-provider.com
            path: /
            backend:
              serviceName: hello-kubernetes
              servicePort: 80
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.6", GitCommit:"7015f71e75f670eb9e7ebd4b5749639d42e20079", GitTreeState:"archive", BuildDate:"2019-11-19T09:00:01Z", GoVersion:"go1.12.12", Co
mpiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.6", GitCommit:"7015f71e75f670eb9e7ebd4b5749639d42e20079", GitTreeState:"archive", BuildDate:"2019-11-19T08:45:41Z", GoVersion:"go1.12.12", Co
mpiler:"gc", Platform:"linux/amd64"}