k8sのIngressとは
Ingerssとは、Kubernetesのクラスター外からクラスター内ServiceへのHTTP&HTTPSのルートを公開します。いうなれば「ちゃんと外からアクセスできるようにする」ためのツールです。
Ingressリソースの定義
Ingressリソースのミニマルな例を紹介しましょう。コードは公式ドキュメントからの引用です。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test
port:
number: 80
他の全てのKubernetesリソースと同様に、Ingressには
Ingressリソース Kubernetesドキュメント よりapiVersion
、kind
やmetadata
フィールドが必要です。Ingressオブジェクトの名前は、有効なDNSサブドメイン名である必要があります。
ここで、IngerssのapiVersionは要チェックです。IngressのapiVersionを” networking.k8s.io/v1beta1“と指定している記事も多くありますが、Kubernetesのv1.22では廃止されています。v1では、v1beta1では必要なかったspec.rules.paths.pathTypeが必須となっていたり、 spec.rules.paths. backend以下の書き方が変わっていたりするので、実装の際はお互いの記法が混在しないように注意が必要です(実際、わたしもコレでハマりました・・笑)
詳しい違いについては以下に参考リンクを載せておきますね。
返信がありません