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
如何将nginx负载平衡器添加到Jelastic上的kubernetes集群?_Nginx_Kubernetes_Jelastic - Fatal编程技术网

如何将nginx负载平衡器添加到Jelastic上的kubernetes集群?

如何将nginx负载平衡器添加到Jelastic上的kubernetes集群?,nginx,kubernetes,jelastic,Nginx,Kubernetes,Jelastic,我有以下jps清单: jpsVersion:1.3 jpsType:安装 应用程序: 我的应用程序 名称:我的应用程序 版本:0.0 设置: 领域: -姓名:envName 描述:环境名称 类型:字符串 必填项:true -姓名:拓朴 类型:无线电现场设备 价值观: 0-dev:'开发:一个主服务器(1)和一个可扩展工作服务器(1+)' 1-prod:“生产:多主机(3),带API平衡器(2+)和可扩展工作程序(2+)” 默认值:0-dev -名称:k8s版本 类型:字符串 标题:k8s清单版本

我有以下jps清单:

jpsVersion:1.3
jpsType:安装
应用程序:
我的应用程序
名称:我的应用程序
版本:0.0
设置:
领域:
-姓名:envName
描述:环境名称
类型:字符串
必填项:true
-姓名:拓朴
类型:无线电现场设备
价值观:
0-dev:'开发:一个主服务器(1)和一个可扩展工作服务器(1+)'
1-prod:“生产:多主机(3),带API平衡器(2+)和可扩展工作程序(2+)”
默认值:0-dev
-名称:k8s版本
类型:字符串
标题:k8s清单版本
默认值:v1.16.3
onInstall:
-库伯内特斯酒店
行动:
安装程序:
安装:
太平绅士:https://github.com/jelastic-jps/kubernetes/blob/${settings.k8s version}/manifest.jps
envName:${settings.envName}
displayName:${settings.envName}
设置:
部署:cc
拓扑:${settings.topo}
仪表板:版本2
入口控制器:Nginx
存储:正确
api:正确
监控:正确
版本:${settings.k8s version}
杰格:错
现在,我想在k8s集群前面添加一个负载平衡器,类似于

env:
拓扑结构:
节点:
-节点组:bl
节点类型:nginx已停靠
标签:1.16.1
显示名称:节点平衡
计数:1
fixedCloudlets:1
云量:4
当然,上面的kubernetes jps安装创建了一个拓扑。因此,我无法调用上面的
env
部分。如何向Jerestic kubernetes jps创建的拓扑添加新节点?我找到了,但它似乎不允许定义进入
bl
节点组的内容

在JelasticAPI中,我找到了这个方法,我相信它可以解决我的问题。但是,文档不是很清楚,它缺少一个示例,我可以从中猜测如何填充参数。如何使用该方法将nginx负载平衡器添加到我的k8s环境中

编辑
EditNodeGroup
方法对该问题没有用处。我认为,目前,我最好的选择是根据我的需要来调整。我还有别的选择吗?我浏览了API,发现没有办法添加我的nginx负载平衡器。

外部清单调用期间无法更改环境拓扑,因为它是在该清单中创建的。但它可以在清单完成后更改。 整个方法是:

onInstall:
  - installKubernetes
  - addBalancer
actions:
  installKubernetes:
    install:
      jps: https://github.com/jelastic-jps/kubernetes/blob/${settings.k8s-version}/manifest.jps
      envName: ${settings.envName}
...
  addBalancer:
    - install:
        envName: ${settings.envName}
        jps:
          type: update
          name: Add Balancer Node
          onInstall:
            - addNodes:
....
请参考有关如何在清单中使用“addNodes”操作的示例

此外,参考https://docs.cloudscripting.com/creating-manifest/actions/#addnodes 描述可以使用的所有字段

Jelastic最新发布的K8s版本是:v1.16.6,因此您可以在清单中使用它

但是,请注意,通过此平衡器实例,您将访问默认的Kubernetes入口控制器,即与您当前在“http(s):/”中拥有的入口/路径相同

当然,您可以为添加的BL分配一个公共ip,并且从现在开始,您可以通过公共ip访问相同的功能,而不是像以前那样通过共享平衡器

简而言之,Jelastic Balancer实例目前不提供Kubernetes服务负载平衡器功能——如果您确实需要此功能的话。K8S LoadBalancer功能将在下一版本中添加:添加到“cp”worker的公共IP可自动用于Kubernetes集群内创建的负载平衡器。我们希望将此功能添加到1.16.8中+


如果您还有任何问题,请告知我们。

nginx jelastic.conf
中添加nginx负载平衡器后,默认上游为空是否正常?