最新版 (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
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
。
コメント