Estoy agregando un ingreso de la siguiente manera:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cheddar spec: rules: - host: cheddar.213.215.191.78.nip.io http: paths: - backend: service: name: cheddar port: number: 80 path: / pathType: ImplementationSpecificpero los registros se quejan:
W0205 15:14:07.482439 1 warnings.go:67] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress time="2021-02-05T15:14:07Z" level=info msg="Updated ingress status" namespace=default ingress=cheddar W0205 15:18:19.104225 1 warnings.go:67] networking.k8s.io/v1beta1 IngressClass is deprecated in v1.19+, unavailable in v1.22+; use networking.k8s.io/v1 IngressClassList¿Por qué? ¿Cuál es el yaml correcto para usar? Actualmente estoy en microk8s 1.20
Analicé su problema y llegué a las siguientes conclusiones:
@microk8s:~$ kubectl describe ing Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 IngressapiVersion: networking.k8s.io/v1 , encontré la siguiente explicación :Esto está funcionando como se esperaba. Cuando crea un objeto de ingreso, se puede leer a través de cualquier versión (el servidor maneja la conversión a la versión solicitada).
kubectl get ingresses una solicitud ambigua, ya que no indica qué versión se desea leer.Cuando se realiza una solicitud ambigua, kubectl busca en los documentos de descubrimiento devueltos por el servidor para encontrar el primer grupo/versión que contiene el recurso especificado.
Por razones de compatibilidad, históricamente se ha preferido
extensions/v1beta1sobre todas las demás versiones de API. Ahora que el ingreso es el único recurso que queda en ese grupo, está en desuso y tiene un reemplazo de GA, 1.20 lo eliminará en prioridad para quekubectl get ingresslea desdenetworking.k8s.io/v1, pero seguirá un servidor 1.19 la prioridad histórica.Si desea leer una versión específica, puede calificar la solicitud de obtención (como
kubectl get ingresses.v1.networking.k8s.io...) o puede pasar un archivo de manifiesto para solicitar la misma versión especificada en el archivo (kubectl get -f ing.yaml -o yaml)
Para resumir: a pesar del hecho de usar la apiVersion adecuada, la obsoleta todavía se ve como la predeterminada y, por lo tanto, genera la Advertencia que experimenta.
También veo que todavía se están haciendo cambios recientemente, así que asumo que todavía se está trabajando en ello.