Rancher CLI更新负载均衡器

时间:2017-06-09 07:37:44

标签: jenkins kubernetes rancher

我使用Rancher而不是Kubernetes来创建我们的测试/开发环境。首先,它是一个很棒的工具,我对它如何简化这种环境的管理感到惊讶。

那就是说,我有一个问题(这可能更多是Rancher的知识缺失)。我尝试通过Jenkins自动部署,并且因为我们将在我们的测试环境中有几个堆栈,所以我想动态更新loadbalancer实例,以便使用Rancher CLI从Jenkins添加新环境的路由。

目前,我只是尝试运行此命令:

rancher --url http://myrancher_server:8080 --access-key <key> --secret-key <secret> --env dev-test stack create kubernetes-ingress-lbs -r loadbalancer-rancher-service.yml

我的docker-compose.yml文件如下所示:

version: '2'
services:
  frontend:
    image: 172.19.51.97:5000/frontend
  dev-test-lb:
    image: rancher/load-balancer-service
    ports:
  - 82: 8086
links:
  - fronted:frontend

我的牧场主撰写文件是这样的:

version: '2'
services:
  dev-test-lb:
    scale: 4
    lb_config:
      port_rules:
      - source_port: 82
        path: /products
        target_port: 8086
        service: products
      - source_port: 82
        path: /
        target_port: 4201
        service: frontend
  health_check:
    port: 42
    interval: 2000
    unhealthy_threshold: 3
    healthy_threshold: 2
    response_timeout: 2000

现在当我执行此操作时,我有以下回复:

Bad response statusCode [422]. Status [422 status code 422]. Body: [code=NotUnique, fieldName=name, baseType=error] from [http://myrancher_server:8080/v2-beta/projects/1a21/stacks]

显然,我无法使用已经存在的服务编辑现有堆栈。你知道它的最佳做法是否像这样吗?我检查过男人,我只看到&#34;创建&#34; &#34; rancher stack&#34;上的行动,所以我想知道我们是否可以更新?

我的牧场服务器是v1.5.10,我的所有牧场代理和Kubernetes驱动程序都是最新的。

非常感谢你的帮助伙伴:)

1 个答案:

答案 0 :(得分:3)

好的,仅仅是为了获取信息,我发现这可以通过Rancher的Rest API实现。

检查以下链接:http://docs.rancher.com/rancher/v1.2/en/api/v2-beta/api-resources/service/

起初我没有发现因为谷歌搜索我所做的一切都是关于牧场主cli的。但由于它仍处于测试阶段,我们无法通过其他API执行相同的操作。

基本上,只需发送更新资源查询:

PUT rancherserver / v2-beta / projects / 1a12 / services /

{
    "description": "Loadbalancer for our test env",
    "lbConfig": {
        "portRules": [
            {
                "hostname": "",
                "protocol": "http",
                "source_port": "80",
                "targetPort": "4200",
                "path": "/"
            }
        ]
    },
    "name": "kubernetes-ingress-lbs"
}
相关问题