Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-11-28 GMT+08:00

(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

  1. Crie um volume do SFS Turbo e registre o nome do volume.
  2. Use o kubectl para se conectar ao cluster. Para mais detalhes, consulte Conexão a um cluster usando o kubectl.
  3. 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.

  4. Crie o StatefulSet.

    kubectl create -f efs-statefulset-example.yaml