2017-06-09 4 views
0

私はテスト/ dev環境を作るためにKubernetesのRancherを使用しています。まず第一に、それはすばらしいツールであり、そのような環境の管理を簡素化する方法に驚いています。Rancher CLI update loadbalancer

しかし、私には問題があると言えます(これは多分Rancherの知識不足です)。私はJenkins経由でのデプロイメントを自動化しようとしています。テスト環境にいくつかのスタックがあるので、Rbalher CLIを使ってJenkinsから新しい環境のルートを追加するためにloadbalancerインスタンスを動的に更新したいと思います。

瞬間

、私は、このコマンドを実行しよう:

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 

マイドッキングウィンドウ-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 

は今、私は次のような応答を持っています

明らかに、すでに存在するサービスで既存のスタックを編集することはできません。それがベストプラクティスであるかどうか知っていますか?私は人をチェックしました。そして、私は "rancher stack"に "create"アクションしか見ないので、私たちが更新できるかどうか疑問に思っていますか?

私の牧場のサーバーはv1.5.10で、私の牧場のエージェントとKubernetesのドライバーはすべて最新です。

おかげであなたの助けの仲間のためにたくさん:) [OK]を

答えて

0

は、情報だけのために、私はこれはランチャーの残りAPIを介して可能であることがわかりました。

チェック次のリンクは:http://docs.rancher.com/rancher/v1.2/en/api/v2-beta/api-resources/service/

私は、最初の「原因とグーグルで、私は周りにやった最初の牧場主のCLIについてのすべてだったことがわかっていませんでした。しかしまだベータ版であるため、残りのAPI経由で同じことをすることはできません。基本的には

、ちょうど更新リソースクエリを送信します。

PUT rancherserver/v2のベータは、//1A12 /サービス/

{ 
    "description": "Loadbalancer for our test env", 
    "lbConfig": { 
     "portRules": [ 
      { 
       "hostname": "", 
       "protocol": "http", 
       "source_port": "80", 
       "targetPort": "4200", 
       "path": "/" 
      } 
     ] 
    }, 
    "name": "kubernetes-ingress-lbs" 
} 
プロジェクト