KubernetesYAMLファイルの実行中に問題についてのガイダンスが必要でした。私のkubectlのバージョンは次のとおりです。
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.14", GitCommit:"89182bdd065fbcaffefec691908a739d161efc03", GitTreeState:"clean", BuildDate:"2020-12-18T12:02:35Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
これは、Kubernetesサイトhttps://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-windowsからダウンロードされた最新バージョンです。
YAMLにはapiVersion:networking.k8s.io/v1の種類があります:IngressとYAMLの実行時のエラーは
no matches for kind "Ingress" in version "networking.k8s.io/v1"
Kubernetesの問題https://github.com/kubernetes/kubernetes/issues/90077は、
networking.k8s.io/v1beta1 == 1.14 to 1.18
networking.k8s.io/v1 = 1.19+
だから私はそれが正しく機能しているはずだと思いますか?
APIバージョンをに変更しました
apiVersion: extensions/v1beta1 or
apiVersion: networking.k8s.io/v1beta1
しかし、YAMLの別のセクションで失敗します
backend:
service:
name: {{ template "fullname" $ }}-srv
port:
number: 80
エラーで
データの検証エラー:ValidationError(Ingress.spec.rules [0] .http.paths [0] .backend):io.k8s.api.extensions.v1beta1.IngressBackendの不明なフィールド「service」
同じYAMLが同じkubectlバージョンのmacOSで動作することが通知されました(ただし、それを確認するためのアクセス権はありません)。しかし、私がどこで間違っている可能性があるかについての考えはありますか?
ありがとう、プラバル
以下のためにnetworking.k8s.io/v1beta1
それがあるべき
backend:
serviceName: {{ template "fullname" $ }}-srv
servicePort: 80
ドキュメントの入手方法:
kubectl explain --api-version=networking.k8s.io/v1beta1 ingress.spec.rules.http.paths.backend
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加