Ingressを作成することで、API ProxyからのHTTP通信を、Serviceにルーティングすることができます。ここでは、my-serviceという名前のServiceを例にして、Ingressの作成方法を説明します。
ingress.yml
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: test-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - host: app.example.com http: paths: - path: /testpath backend: serviceName: my-service servicePort: 80
パラメーター | 説明 |
---|---|
metadata.name | このIngressリソースの名前を指定します。 |
metadata.annotations.nginx.ingress.kubernetes.io/rewrite-target |
リクエストのURLを書き換えるためのルールを指定します。 spec.rules.http.paths.pathで指定されたURLを、本パラメーターで指定したURLに書き換えることができます。 本パラメーターの指定は任意です。 本例のように指定し、"/testpath"にアクセスすると、my-serviceの"/"にアクセスします。 なお指定しない場合、"/testpath"にアクセスすると、my-serviceの"/testpath"にアクセスします。 |
spec.rules.host | アプリケーションのドメイン名を指定します。 |
spec.rules.http.paths.path |
Serviceへ転送するパスを指定します。 指定したパスでリクエストを受け付けると、spec.rules.http.paths.backendに指定したServiceに転送します。 本例の場合、app.example.com/testpathで受け付けたリクエストが転送されます。 |
spec.rules.http.paths.backend.serviceName |
転送先のServiceの名前を指定します。 Serviceのmetadata.nameと同じ値を指定する必要があります。 |
spec.rules.http.paths.backend.servicePort |
転送先のServiceのポート番号を指定します。 Serviceのspec.ports.portと同じ値を指定する必要があります。 |
参考
Ingressの詳細についてはKubernetesの公式ページを参照してください。# kubectl apply -f ingress.yml