(kubectl) Criação de um StatefulSet montado com um volume do SFS Turbo
Cenário
O CCE permite que você use um volume do SFS Turbo existente para criar um StatefulSet.
Observações e restrições
O exemplo de configuração a seguir se aplica a clusters do Kubernetes 1.13 ou anterior.
Procedimento
- Crie um volume do SFS Turbo e registre o nome do volume.
- Use o kubectl para se conectar ao cluster. Para mais detalhes, consulte Conexão a um cluster usando o kubectl.
- Crie um arquivo YAML para criar a carga de trabalho. Suponha que o nome do arquivo é efs-statefulset-example.yaml.
touch efs-statefulset-example.yaml
vi efs-statefulset-example.yaml
Exemplo de YAML:
apiVersion: apps/v1 kind: StatefulSet metadata: name: efs-statefulset-example namespace: default spec: replicas: 1 selector: matchLabels: app: efs-statefulset-example template: metadata: annotations: metrics.alpha.kubernetes.io/custom-endpoints: '[{"api":"","path":"","port":"","names":""}]' pod.alpha.kubernetes.io/initialized: 'true' labels: app: efs-statefulset-example spec: containers: - image: 'nginx:1.0.0' name: container-0 resources: requests: {} limits: {} env: - name: PAAS_APP_NAME value: efs-statefulset-example - name: PAAS_NAMESPACE value: default - name: PAAS_PROJECT_ID value: b18296881cc34f929baa8b9e95abf88b volumeMounts: - name: efs-statefulset-example mountPath: /tmp readOnly: false subPath: '' imagePullSecrets: - name: default-secret terminationGracePeriodSeconds: 30 volumes: - persistentVolumeClaim: claimName: cce-efs-import-jnr481gm-3y5o name: efs-statefulset-example affinity: {} tolerations: - key: node.kubernetes.io/not-ready operator: Exists effect: NoExecute tolerationSeconds: 300 - key: node.kubernetes.io/unreachable operator: Exists effect: NoExecute tolerationSeconds: 300 podManagementPolicy: OrderedReady serviceName: test updateStrategy: type: RollingUpdate
Tabela 1 Parâmetros principais Parâmetro
Descrição
replicas
Número de pods.
name
Nome da carga de trabalho criada.
image
Imagem utilizada pela carga de trabalho.
mountPath
Caminho de montagem no contêiner.
serviceName
Serviço correspondente à carga de trabalho. Para obter detalhes sobre como criar um Serviço, consulte Criação de um StatefulSet.
claimName
Nome de uma PVC existente.
spec.template.spec.containers.volumeMounts.name e spec.template.spec.volumes.name devem ser consistentes porque eles têm uma relação de mapeamento.
- Crie o StatefulSet.
kubectl create -f efs-statefulset-example.yaml