Skip to content

Commit

Permalink
[ja] Sync docs/concepts/services-networking/ingress-controllers
Browse files Browse the repository at this point in the history
  • Loading branch information
ystkfujii committed Apr 20, 2023
1 parent 0d92c72 commit 28c540a
Showing 1 changed file with 26 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Ingressコントローラー
reviewers:
description: >-
クラスターで[Ingress](/ja/docs/concepts/services-networking/ingress/)を動作させるためには、_ingress controller_ が動作している必要があります。
少なくとも1つのIngressコントローラーを選択し、クラスター内にセットアップされていることを確認する必要があります。
このページはデプロイ可能な一般的なIngressコントローラーをリストアップします。
content_type: concept
weight: 50
---
Expand All @@ -19,26 +22,40 @@ Ingressリソースが動作するためには、クラスターでIngressコン

{{% thirdparty-content %}}

* [AKS Application Gateway Ingress Controller](https://github.com/Azure/application-gateway-kubernetes-ingress)は、[Azure Application Gateway](https://docs.microsoft.com/azure/application-gateway/overview)を設定するIngressコントローラーです。
* [AKS Application Gateway Ingress Controller](https://docs.microsoft.com/azure/application-gateway/tutorial-ingress-controller-add-on-existing?toc=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Faks%2Ftoc.json&bc=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fbread%2Ftoc.json)は、[Azure Application Gateway](https://docs.microsoft.com/azure/application-gateway/overview)を設定するIngressコントローラーです。
* [Ambassador](https://www.getambassador.io/) API Gatewayは[Envoy](https://www.envoyproxy.io)ベースのIngressコントローラーです。
* [Apache APISIX ingress controller](https://github.com/apache/apisix-ingress-controller)[Apache APISIX](https://github.com/apache/apisix)ベースのIngressコントローラーです。
* [Avi Kubernetes Operator](https://github.com/vmware/load-balancer-and-ingress-services-for-kubernetes)[VMware NSX Advanced Load Balancer](https://avinetworks.com/)を使用したL4-L7ロードバランサーを提供します。
* [BFE Ingress Controller](https://github.com/bfenetworks/ingress-bfe)[BFE](https://www.bfe-networks.net)ベースのIngressコントローラーです。
* [Cilium Ingress Controller](https://docs.cilium.io/en/stable/network/servicemesh/ingress/)[Cilium](https://cilium.io/)を備えたIngressコントローラーです。
* [Citrix ingress controller](https://github.com/citrix/citrix-k8s-ingress-controller#readme)は、Citrix Application Delivery Controllerで動作します。
* [Contour](https://projectcontour.io/)は、[Envoy](https://www.envoyproxy.io/)ベースのIngressコントローラーです。
* [EnRoute](https://getenroute.io/)はIngressコントローラーのように実行できる[Envoy](https://www.envoyproxy.io)ベースのAPI gatewayです。
* [Easegress IngressController](https://github.com/megaease/easegress/blob/main/doc/reference/ingresscontroller.md)はIngressコントローラーのように実行できる[Easegress](https://megaease.com/easegress/)ベースのAPI gatewayです。
* F5 BIG-IPの[Container Ingress Services for Kubernetes](https://clouddocs.f5.com/containers/latest/userguide/kubernetes/)はF5 BIG-IPの仮想サーバー上でIngressの設定を可能にします。
* [Gloo](https://gloo.solo.io)[Envoy](https://www.envoyproxy.io)をベースにしたオープンソースのIngressコントローラーで、API Gateway機能を提供しています。
* [HAProxy Ingress](https://haproxy-ingress.github.io)は、[HAProxy](http://www.haproxy.org/#desc)用のIngressコントローラーです。
* [HAProxy Ingress Controller for Kubernetes](https://github.com/haproxytech/kubernetes-ingress)も、[HAProxy](http://www.haproxy.org/#desc)用のIngressコントローラーです。
* [HAProxy Ingress](https://haproxy-ingress.github.io/)は、[HAProxy](https://www.haproxy.org/#desc)用のIngressコントローラーです。
* [HAProxy Ingress Controller for Kubernetes](https://github.com/haproxytech/kubernetes-ingress#readme)も、[HAProxy](https://www.haproxy.org/#desc)用のIngressコントローラーです。
* [Istio Ingress](https://istio.io/latest/docs/tasks/traffic-management/ingress/kubernetes-ingress/)は、[Istio](https://istio.io/)ベースのIngressコントローラーです。
* [Kong Ingress Controller for Kubernetes](https://github.com/Kong/kubernetes-ingress-controller#readme)は、[Kong Gateway](https://konghq.com/kong/)向けのIngressコントローラーです。
* [NGINX Ingress Controller for Kubernetes](https://www.nginx.com/products/nginx/kubernetes-ingress-controller)は、[NGINX](https://www.nginx.com/resources/glossary/nginx/)ウェブサーバーで(プロキシとして)動作します。
* [Kusk Gateway](https://kusk.kubeshop.io/)[Envoy](https://www.envoyproxy.io)をベースにしたOpenAPIドリブンのIngressコントローラーです。
* [NGINX Ingress Controller for Kubernetes](https://www.nginx.com/products/nginx-ingress-controller/)は、[NGINX](https://www.nginx.com/resources/glossary/nginx/)ウェブサーバーで(プロキシーとして)動作します。
* [Pomerium Ingress Controller](https://www.pomerium.com/docs/k8s/ingress.html)[Pomerium](https://pomerium.com/)ベースのものであり、コンテキストを考慮したアクセスポリシーを提供します。
* [Skipper](https://opensource.zalando.com/skipper/kubernetes/ingress-controller/)は、カスタムプロキシーを構築するためのライブラリーとして設計された、Kubernetes Ingressなどのユースケースを含む、サービス構成用のHTTPルーターとリバースプロキシーです。
* [Traefik Kubernetes Ingress provider](https://doc.traefik.io/traefik/providers/kubernetes-ingress/)は、[Traefik](https://github.com/containous/traefik) proxy向けのIngressコントローラーです。
* [Voyager](https://appscode.com/products/voyager)は、[HAProxy](http://www.haproxy.org/#desc)向けのIngressコントローラーです。
* [Traefik Kubernetes Ingress provider](https://doc.traefik.io/traefik/providers/kubernetes-ingress/)は、[Traefik](https://traefik.io/traefik/) proxy向けのIngressコントローラーです。
* [Tyk Operator](https://github.com/TykTechnologies/tyk-operator)はAPI管理機能をIngressに持たせるためにCustom ResourcesでAPIを拡張します。Tyk OperatorはOpen Source Tyk GatewayとTyk Cloudコントロールプレーンで動作します。
* [Voyager](https://appscode.com/products/voyager)は、[HAProxy](https://www.haproxy.org/#desc)向けのIngressコントローラーです。
* [Wallarm Ingress Controller](https://www.wallarm.com/solutions/waf-for-kubernetes)はWAAP(WAF)やAPIセキュリティ機能を提供するIngressコントローラーです。

## 複数のIngressコントローラーの使用 {#using-multiple-ingress-controllers}

[Ingressコントローラーは、好きな数だけ](https://git.k8s.io/ingress-nginx/docs/user-guide/multiple-ingress.md#multiple-ingress-controllers)クラスターにデプロイすることができます。Ingressを作成する際には、クラスター内に複数のIngressコントローラーが存在する場合にどのIngressコントローラーを使用するかを示すために適切な[`ingress.class`](https://git.k8s.io/ingress-gce/docs/faq/README.md#how-do-i-run-multiple-ingress-controllers-in-the-same-cluster)のアノテーションを指定する必要があります。
[Ingress Class](/ja/docs/concepts/services-networking/ingress/#ingress-class)を使用して、複数のIngressコントローラーをクラスターにデプロイすることができます。
Ingress Classリソースの`.metadata.name`に注目してください。
Ingressを作成する際には、Ingressオブジェクトで`ingressClassName`フィールドを指定するために、その名前が必要になります([IngressSpec v1 reference](/docs/reference/kubernetes-api/service-resources/ingress-v1/#IngressSpec)を参照)。
`ingressClassName`は古い[annotation method](/ja/docs/concepts/services-networking/ingress/#deprecated-annotation)の代替品です。

クラスを定義しない場合、クラウドプロバイダーはデフォルトのIngressコントローラーを使用する場合があります。
Ingressに対してIngressClassを指定せず、クラスターにはデフォルトとして設定されたIngressClassが1つだけある場合、KubernetesはIngressにクラスターのデフォルトIngressClassを[適用](/ja/docs/concepts/services-networking/ingress/#default-ingress-class)します。
IngressClassの[`ingressclass.kubernetes.io/is-default-class`アノテーション](/docs/reference/labels-annotations-taints/#ingressclass-kubernetes-io-is-default-class)を文字列`"true"`に設定することで、デフォルトとしてIngressClassを設定します。

理想的には、すべてのIngressコントローラーはこの仕様を満たすべきですが、いくつかのIngressコントローラーはわずかに異なる動作をします。

Expand Down

0 comments on commit 28c540a

Please sign in to comment.