---
slug: "kubernetes-ingress-version-extensions-v1beta1"
title: "Kubernetes  extensions/v1beta1 の Ingresの を networking.k8s.io/v1 に更新する"
description: "Kubernetes の Ingress リソースで `apiVersion: extensions/v1beta1` を `networking.k8s.io/v1` に移行するときの YAML 変更例。`backend` 構造の書き換えが必要。"
url: "https://www.ytyng.com/blog/kubernetes-ingress-version-extensions-v1beta1"
publish_date: "2022-06-19T11:32:00Z"
created: "2022-06-19T11:32:00Z"
updated: "2026-05-11T13:05:41.266Z"
categories: ["kubernetes"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/83afcf7cceef4c13bcd21a89b4e1822c.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

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

<p>最新版 (1.25ぐらい? ) の Kubernetes では、 <code>apiVersion: extensions/v1beta1</code> は使えなくなっている。</p>
<p>Ingress を<code>extensions/v1beta1</code> で書いている場合、kubectl apply の時</p>
<pre>error: unable to recognize "ingress.yml": no matches for kind "Ingress" in version "extensions/v1beta1"</pre>
<p>が表示され適用できないので、<code>apiVersion: networking.k8s.io/v1</code> に更新する必要がある。</p>
<p><code>apiVersion: networking.k8s.io/v1beta1</code> の場合は使えなくなっているかは確かめてないが、同様に&nbsp;<span><code>apiVersion: networking.k8s.io/v1</code> に更新しておいたほうが今後のトラブルを回避できるだろう。</span></p>
<p></p>
<p>その際、backend.service の書き方が少し変更されているので注意する。</p>
<h2>apiVersion: networking.k8s.io/v1 の kind: Ingress のマニフェストのサンプル</h2>
<pre>apiVersion: networking.k8s.io/v1<br />kind: Ingress<br />metadata:<br />  name: my-app-ingress<br />  namespace: my-namespace<br />  annotations:<br />    ingress.kubernetes.io/ssl-redirect: "true"<br />spec:<br />  tls:<br />    - secretName: my-tls-cert-secrets<br />  rules:<br />    - host: my-app.example.com<br />      http:<br />      paths:<br />        - path: /<br />          pathType: Prefix<br />          backend:<br />            service:<br />              name: my-app-service<br />              port:<br />                number: 80</pre>
<p><br /><code>extensions/v1beta1</code> の時に、 <code>backend.serviceName</code> <code>backend.servicePort</code> と書いてたものは、<br /><code>backend.service.name</code>, <code>backend.service.port.number</code> に変更されている。<br /><code>pathType</code>&nbsp;を書く必要がある。従来と同じ動作は、 <code>pathType: Prefix</code> 。</p>
