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 2023-11-13 GMT+08:00

Criação de uma carga de trabalho do MySQL

O WordPress deve ser usado em conjunto com o MySQL. O WordPress executa o programa de gerenciamento de conteúdo, enquanto o MySQL serve como um banco de dados para armazenar dados.

Pré-requisitos

Você criou um cluster do CCE que contém um nó com 4 vCPUs e 8 GiB de memória. Para obter detalhes sobre como criar um cluster, consulte Criação um cluster do Kubernetes.

Operações no console

  1. Efetue logon no console do CCE.
  2. Escolha o cluster de destino.
  3. No painel de navegação, escolha Workloads. Em seguida, clique em Create Workload.
  4. Defina parâmetros de carga de trabalho.

    Basic Info
    • Workload Type: selecione Deployment.
    • Workload Name: defina-o para mysql.
    • Namespace: selecione Default.
    • Pods: altere o valor para 1 neste exemplo.
    Figura 1 Informações básicas sobre a carga de trabalho do MySQL

    Container Settings

    Na área Basic Info, clique em Select Image. Na caixa de diálogo exibida, selecione Open Source Images, pesquise por mysql, selecione a imagem mysql e defina a tag de imagem como 5.7.

    Figura 2 Selecionar uma tag de imagem

    Adicione as seguintes quatro variáveis de ambiente (detalhes disponíveis no MySQL):

    • MYSQL_ROOT_PASSWORD: senha do usuário root do MySQL.
    • MYSQL_DATABASE: nome do banco de dados criado durante a inicialização da imagem.
    • MYSQL_USER: nome do usuário do banco de dados.
    • MYSQL_PASSWORD: senha do usuário do banco de dados.
    Figura 3 Configurar variáveis de ambiente

    Service Settings

    Clique no sinal de mais (+) para criar um serviço para acessar o MySQL a partir do WordPress.

    Selecione ClusterIP para Access Type, defina Service Name como mysql, defina a Container Port e a Service Port como 3306 e clique em OK.

    A porta de acesso padrão na imagem do MySQL é 3306. Neste exemplo, tanto a porta de contêiner quanto a porta de serviço são definidas como 3306 por conveniência. A porta de acesso pode ser alterada para outra porta.

    Desta forma, a carga de trabalho do MySQL pode ser acessada através de Service name:Access port (mysql:3306 neste exemplo) de dentro do cluster.

    Figura 4 Criar um Serviço

  5. Clique em Create Workload.

    Aguarde até que a carga de trabalho seja criada.

    A Implementação criada será exibida na guia Deployments.

    Figura 5 Carga de trabalho criada com sucesso

Operações através do kubectl

Esta seção descreve como usar o kubectl para criar uma Implementação e expor a Implementação por meio de um Serviço ClusterIP para permitir o acesso de dentro do cluster.

  1. Use o kubectl para se conectar ao cluster. Para obter detalhes, consulte Conexão a um cluster usando o kubectl.
  2. Crie um arquivo de descrição chamado mysql-deployment.yaml. mysql-deployment.yaml é um nome de arquivo de exemplo. Você pode renomeá-lo conforme necessário.

    vi mysql-deployment.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: mysql
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: mysql
          version: v1
      template:
        metadata:
          labels:
            app: mysql
            version: v1
        spec:
          containers:
            - name: container-1
              image: mysql:5.7
              env:
                - name: MYSQL_ROOT_PASSWORD
                  value: password@123
                - name: MYSQL_DATABASE
                  value: database
                - name: MYSQL_USER
                  value: db_user
                - name: MYSQL_PASSWORD
                  value: password@123
              resources:
                requests:
                  cpu: 250m
                  memory: 512Mi
                limits:
                  cpu: 250m
                  memory: 512Mi
          imagePullSecrets:
            - name: default-secret

  3. Crie uma carga de trabalho do MySQL.

    kubectl apply -f mysql-deployment.yaml

    Se as informações a seguir forem exibidas, isso indicará que a Implementação está sendo criada.

    deployment "mysql" created

    Verifique a Implementação.

    kubectl get deployment

    Se as informações a seguir forem exibidas, a Implementação está sendo executada.

    NAME           READY     UP-TO-DATE   AVAILABLE   AGE 
    mysql          1/1       1            1           4m5s

  4. Crie um arquivo de descrição chamado mysql-service.yaml. mysql-service.yaml é um nome de arquivo de exemplo. Você pode renomeá-lo conforme necessário.

    vi mysql-service.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: mysql
      namespace: default
    spec:
      selector:
        app: mysql
        version: v1
      ports:
        - name: cce-service-0
          targetPort: 3306
          nodePort: 0
          port: 3306
          protocol: TCP
      type: ClusterIP

  5. Crie um Serviço.

    kubectl create -f mysql-service.yaml

    Se forem apresentadas informações semelhantes às seguintes, o Serviço foi criado.

    service/mysql created

    kubectl get svc

    Se informações semelhantes às seguintes forem exibidas, o tipo de acesso foi configurado e a carga de trabalho está acessível.

    NAME         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
    kubernetes   ClusterIP      10.247.0.1       <none>        443/TCP          3d
    mysql        ClusterIP    10.247.202.20     <none>        3306/TCP        51s