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
- Efetue logon no console do CCE.
- Escolha o cluster de destino.
- No painel de navegação, escolha Workloads. Em seguida, clique em Create Workload.
- 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
- 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.
- Use o kubectl para se conectar ao cluster. Para obter detalhes, consulte Conexão a um cluster usando o kubectl.
- 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
- 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
- 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
- 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