1
resposta

Resolver problemas com "Erro ao criar o Statefulset" em versões atuais do Kubernetes

Caros.

Na Aula 04 de Kubernetes será necessário a criação do StatefulSet, porém a versão 1.9.x do Kubernetes não aceita mais a apiVersion: apps/v1beta1 criada no arquivo yaml e por isso retornará erro:

kubectl create -f .\statefulset.yaml error: unable to recognize ".\statefulset.yaml": no matches for kind "StatefulSet" in version "apps/v1beta1"

Fiz a modificação do yaml para apps/v1 com as modificações obrigatórias desta versão segue o código funcional:


apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: statefulset-mysql
spec:
  selector:
    matchLabels:
      name: mysql
  serviceName: db
  template:
    metadata:
      labels:
       name: mysql
    spec:
      containers:
        - name: container-mysql
          image: mysql:5.7
          ports:
            - containerPort: 3306
          env:
            - name: MYSQL_DATABASE
              value: "loja"
            - name: MYSQL_USER
              value: "root"
            - name: MYSQL_ALLOW_EMPTY_PASSWORD
              value: "1"
          volumeMounts:
            - name: volume-mysql
              mountPath: /var/lib/mysql
      volumes:
       - name: volume-mysql
         persistentVolumeClaim:
           claimName: configuracao-mysql

Segue a documentação do Kubernetes para maior entendimento das mudanças: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/

1 resposta

Olá Williams, tudo bem? É verdade nas versões mais recentes do Kubernetes, temos que usar apiVersion: apps/v1, que legal que conseguiu resolver, e mais legal ainda que compartilhou a solução aqui na comunidade! Continue assim e bons estudos!