Slide 1

Slide 1 text

NGHTTPX INGRESS CONTROLLER Tatsuhiro Tsujikawa, Z Lab

Slide 2

Slide 2 text

WE WHAT IS INGRESS CONTROLLER? ▸ IngressϦιʔεΛಡΜͰ͍͍ײ͡ʹL7ϩʔυόϥϯαʔΛઃఆͯ͠ϦΫΤετ ͕ظ଴௨ΓʹϑΥϫʔυ͞ΕΔΑ͏ʹ͢ΔػೳΛఏڙ͢Δ΋ͷ͕ͦ͜ɺIngress controllerͳͷͰ͋Δɻ
 Quoted from http://qiita.com/tatsuhiro-t/items/5cc012d3f6386c8780b6

Slide 3

Slide 3 text

WE ARE NGHTTPX L7 LOAD BALANCER + INGRESS CONTROLLER = NGHTTPX INGRESS CONTROLLER

Slide 4

Slide 4 text

WE ARE HI NGHTTPX IS L7 LOAD BALANCER ▸ Developed by nghttp2 project, MIT licensed OSS ▸ HTTP/2 for both front end and backend ▸ Battle tested HTTP/2 implementation by libnghttp2 ▸ HTTP/2 Server Push ▸ Modern TLS features (session id, session tickets, OCSP, ALPN, PFS, HTTP/2, and CT) ▸ Binary hot swapping/graceful shutdown ▸ MRUBY scripting (very limited ATM) ▸ https://nghttp2.org/documentation/nghttpx.1.html NGHTTPX CLIENT SVC HTTP/2,
 HTTP/1 HTTP/2,
 HTTP/1 TLS,
 ClearText TLS,
 ClearText

Slide 5

Slide 5 text

WE ARE HIR NGHTTPX INGRESS CONTROLLER ▸ Developed and open sourced by Z Lab, MIT licensed ▸ https://github.com/zlabjp/nghttpx-ingress-lb ▸ Development has started by forking NGINX ingress controller ▸ HTTP/2 ▸ TLS ▸ and …

Slide 6

Slide 6 text

WE ARE HIRIN NGHTTPX INGRESS CONTROLLER ▸ Can initiate HTTP/2 connections (with/without TLS) to backend services ▸ NGINX ingress controller cannot do this at the time of writing ▸ gRPC? No problem ▸ Require explicit extended annotations …

Slide 7

Slide 7 text

WE ARE HIRING! NGHTTPX INGRESS CONTROLLER ▸ Explicit extended annotations 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

Slide 8

Slide 8 text

THANK YOU! WE ARE HIRING! Z LAB