Kubernetes extensions/v1beta1 の Ingresの を networking.k8s.io/v1 に更新する

kubernetes
2022-06-19 20:32 (2年前) ytyng
View in English

最新版 (1.25ぐらい? ) の Kubernetes では、 apiVersion: extensions/v1beta1 は使えなくなっている。

Ingress をextensions/v1beta1 で書いている場合、kubectl apply の時

error: unable to recognize "ingress.yml": no matches for kind "Ingress" in version "extensions/v1beta1"

が表示され適用できないので、apiVersion: networking.k8s.io/v1 に更新する必要がある。

apiVersion: networking.k8s.io/v1beta1 の場合は使えなくなっているかは確かめてないが、同様に apiVersion: networking.k8s.io/v1 に更新しておいたほうが今後のトラブルを回避できるだろう。

その際、backend.service の書き方が少し変更されているので注意する。

apiVersion: networking.k8s.io/v1 の kind: Ingress のマニフェストのサンプル

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-app-ingress
namespace: my-namespace
annotations:
ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
- secretName: my-tls-cert-secrets
rules:
- host: my-app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-app-service
port:
number: 80


extensions/v1beta1 の時に、 backend.serviceName backend.servicePort と書いてたものは、
backend.service.name, backend.service.port.number に変更されている。
pathType を書く必要がある。従来と同じ動作は、 pathType: Prefix

現在未評価
The author runs the application development company Cyberneura.
We look forward to discussing your development needs.

Archive

2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011