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 WordPress

WordPress foi originalmente uma plataforma de blog baseada em PHP e MySQL. É gradualmente evoluído para um sistema de gerenciamento de conteúdo. Você pode configurar seu próprio blog em qualquer servidor que suporte PHP e MySQL. Milhares de plug-ins e inúmeros modelos de tema estão disponíveis para WordPress e fácil de instalar.

Esta seção descreve como criar um site público do WordPress a partir de imagens.

Pré-requisitos

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: defini-lo para wordpress.
    • Namespace: selecione Default.
    • Pods: defina este parâmetro como 2 neste exemplo.
    Figura 1 Configurar as informações básicas sobre a carga de trabalho

    Container Settings

    Na área Basic Info, clique em Select Image. Na caixa de diálogo exibida, selecione Open Source Images, procure por wordpress, selecione a imagem wordpress e defina a tag de imagem para php7.3.

    Figura 2 Selecionar uma tag de imagem

    Adicione as seguintes variáveis de ambiente:

    (Essas variáveis permitem que o WordPress saiba as informações sobre o banco de dados MySQL.)

    • WORDPRESS_DB_HOST: endereço para acessar o banco de dados, que pode ser encontrado no Serviço (na página de guia Services) da carga de trabalho do MySQL. Você pode usar o nome de domínio interno mysql.default.svc.cluster.local:3306 para acessar o banco de dados ou usar apenas mysql:3306 omitindo .default.svc.cluster.local.
    • WORDPRESS_DB_USER: nome do usuário para acessar o banco de dados. O valor deve ser o mesmo do MYSQL_USER em Criação de uma carga de trabalho do MySQL, que é usado para se conectar ao MySQL.
    • WORDPRESS_DB_PASSWORD: senha para acessar o banco de dados. O valor deve ser o mesmo que o de MYSQL_PASSWORD em Criação de uma carga de trabalho do MySQL.
    • WORDPRESS_DB_NAME: nome do banco de dados a ser acessado. O valor deve ser o mesmo do MYSQL_DATABASE em Criação de uma carga de trabalho do MySQL.
    Figura 3 Configurar variáveis de ambiente

    Service Settings

    Clique no sinal de mais (+) para criar um serviço para acessar a carga de trabalho de uma rede externa. Neste exemplo, crie um Serviço LoadBalancer. Configure os seguintes parâmetros:

    • Service Name: nome do Serviço exposto a redes externas. Neste exemplo, o nome do Serviço é wordpress.
    • Access Type: selecione LoadBalancer.
    • Service Affinity: mantenha o valor padrão.
    • Load Balancer: se um balanceador de carga estiver disponível, selecione um balanceador de carga existente. Caso contrário, clique em Create Load Balancer para criar um no console do ELB.
    • Port:
      • Protocol: selecione TCP.
      • Service Port: defina esse parâmetro como 80, que é mapeado para a porta do contêiner.
      • Container Port: porta na qual a aplicação escuta. Para contêineres criados usando a imagem de nginx, defina esse parâmetro como 80. Para outras aplicações, defina este parâmetro para a porta da aplicação.
    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 na Internet por meio de um Serviço LoadBalancer.

  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 wordpress-deployment.yaml. wordpress-deployment.yaml é um nome de arquivo de exemplo. Você pode renomeá-lo conforme necessário.

    vi wordpress-deployment.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: wordpress
      namespace: default
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: wordpress
          version: v1
      template:
        metadata:
          labels:
            app: wordpress
            version: v1
        spec:
          containers:
            - name: container-1
              image: wordpress:php7.3
              env:
                - name: WORDPRESS_DB_HOST
                  value: mysql:3306
                - name: WORDPRESS_DB_USER
                  value: db_user
                - name: WORDPRESS_DB_PASSWORD
                  value: password@123
                - name: WORDPRESS_DB_NAME
                  value: database
              resources:
                requests:
                  cpu: 250m
                  memory: 128Mi
                limits:
                  cpu: 250m
                  memory: 128Mi
          imagePullSecrets:
            - name: default-secret

  3. Crie uma carga de trabalho do WordPress

    kubectl apply -f wordpress-deployment.yaml

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

    deployment "wordpress" 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 
    wordpress          1/1       1            1           4m5s

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

    vi wordpress-service.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: wordpress
      namespace: default
      annotations:
        kubernetes.io/elb.class: union
        kubernetes.io/elb.autocreate:         
            '{
                "type": "public",
                "bandwidth_name": "cce-wordpress",
                "bandwidth_chargemode": "bandwidth",
                "bandwidth_size": 5,
                "bandwidth_sharetype": "PER",
                "eip_type": "5_bgp"
            }'
    spec:
      selector:
        app: wordpress
      externalTrafficPolicy: Cluster
      ports:
        - name: cce-service-0
          targetPort: 80
          nodePort: 0
          port: 80
          protocol: TCP
      type: LoadBalancer

  5. Crie um Serviço.

    kubectl create -f wordpress-service.yaml

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

    service/wordpress 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         8m
    wordpress   LoadBalancer   10.247.130.196   **.**.**.**   80:31540/TCP   51s

Acessar WordPress

  1. Obtenha o endereço de acesso externo do WordPress.

    Clique na carga de trabalho do wordpress para entrar na página de detalhes. Na página de guia Access Mode, exiba o endereço IP do WordPress. O endereço IP do balanceador de carga é o endereço de acesso externo.

    Figura 6 Acessar WordPress

  2. Digite o endereço de acesso externo na caixa de endereço de um navegador para se conectar à carga de trabalho.

    A figura a seguir mostra a página de WordPress acessada.

    Figura 7 Carga de trabalho do WordPress
    Figura 8 WordPress

Excluir recursos

Até agora, você completou todas as instruções de Primeiros passos e entendeu como usar o CCE. As taxas são incorridas enquanto os nós estão em execução. Se os clusters usados nos guias de Primeiros passos não estiverem mais em uso, execute as etapas a seguir para excluí-los. Se você vai continuar os percursos manuais do CCE, retenha os clusters.

  1. Efetue logon no console do CCE.
  2. No painel de navegação à esquerda, escolha Clusters.
  3. Clique em ao lado de um cluster e exclua o cluster conforme solicitado.

    Figura 9 Excluir um cluster