NO IMAGE

【Kubernetes】Ingressとは?概要と注意点

NO IMAGE

Contents

k8sのIngressとは

Ingerssとは、Kubernetesのクラスター外からクラスター内ServiceへのHTTP&HTTPSのルートを公開します。いうなれば「ちゃんと外からアクセスできるようにする」ためのツールです。

Ingressリソースの定義

Ingressリソースのミニマルな例を紹介しましょう。コードは公式ドキュメントからの引用です。

apiVersion: networking.k8s.io/v1kind: Ingressmetadata:  name: minimal-ingress  annotations: nginx.ingress.kubernetes.io/rewrite-target: /spec:  rules:  - http:paths:- path: /testpath  pathType: Prefix  backend: service:name: testport:  number: 80

他の全てのKubernetesリソースと同様に、IngressにはapiVersionkindmetadataフィールドが必要です。Ingressオブジェクトの名前は、有効なDNSサブドメイン名である必要があります。

Ingressリソース Kubernetesドキュメント より

ここで、IngerssのapiVersionは要チェックです。IngressのapiVersionを” networking.k8s.io/v1beta1“と指定している記事も多くありますが、Kubernetesのv1.22では廃止されています。v1では、v1beta1では必要なかったspec.rules.paths.pathTypeが必須となっていたり、 spec.rules.paths. backend以下の書き方が変わっていたりするので、実装の際はお互いの記法が混在しないように注意が必要です(実際、わたしもコレでハマりました・・笑)

詳しい違いについては以下に参考リンクを載せておきますね。

参考リンク

NO IMAGE
最新情報をチェックしよう!