6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

KubernetesAdvent Calendar 2017

Day 17

最新nghttpx ingress controller情報

Last updated at Posted at 2017-12-16

最新のnghttpx ingress controllerの情報をシェアします。

nghttpx ingress controllerについてはこのスライドで簡単に紹介しています。

--publish-service

これはnginx ingress controllerの--publish-serviceと同じ機能を提供するものです。

Ingress controllerは担当のIngressリソースの.status.loadBalancer.ingress[*]にロードバランサーのアドレスを追加します。nghttpx ingress contorllerの場合、デフォルトではingress controllerのPodのIPアドレスを追加するようになっています。

--publish-serviceフラグを使うと、指定したServiceのexternal IPsやLoadBalancerのアドレスを追加するように動作を変更します。

default-backend-config

nghttpx ingress controllerはingress.zlab.co.jp/default-backend-configアノテーションをIngressリソースに記述することで、バックエンド接続の追加設定を行うことができます。

例:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: greeter
  annotations:
    ingress.zlab.co.jp/backend-config: '{"greeter": {"50051": {"proto": "h2"}}}'
spec:
  rules:
  - http:
      paths:
      - path: /helloworld.Greeter/
        backend:
          serviceName: greeter
          servicePort: 50051

このアノテーションはjson形式で、Service名、サービスポートの組み毎に記述します。

新たに追加したingress.zlab.co.jp/default-backend-configは、デフォルトのバックエンド設定を指定します。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: greeter
  annotations:
    ingress.zlab.co.jp/default-backend-config: '{"affinity": "ip"}'
    ingress.zlab.co.jp/backend-config: '{"greeter": {"50051": {"proto": "h2"}}}'
spec:
  rules:
  - http:
      paths:
      - path: /helloworld.Greeter/
        backend:
          serviceName: greeter
          servicePort: 50051

とすると、default-backend-configの内容が合成され、greeter/50051のbackend-configは、{"proto": "h2", "affinity": "ip"}となります。

affinity: cookie

ingress.zlab.co.jp/backend-configのaffinityで利用できる手法にcookieが追加されました。
nghttpxがaffinity-cookie-nameで指定した名前のcookieを発行し、クライアントが送り返してくるcookieの内容に応じてバックエンドサーバーを選ぶようになります。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?