Skip to content

Aplicação das tecnologias WordPress e MySQL utilizando Kubernetes

Notifications You must be signed in to change notification settings

natanaelnunespereira/k8s-wp-mysql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes - WordPress e MySQL

Documentação referente a aplicação das tecnologias WordPress e MySQL utilizando K8s.

Documentação oficial

Pré-requisitos

Estrutura

Este tópico apresenta a descrição da estrutura do projeto.

  • Namespace: fornecer isolamento de recursos para o labwordpress.
  • Services: expor a comunicação do cluster (ClusterIP, NodePort ou LoadBalancer).
  • Secrets: contém dados confidenciais, por esse motivo não pode ser exposto neste repositório.
  • Volumes: armazenar arquivos dos containers.
  • Deployments: representar uma aplicação que será executada no cluster, podendo alterar a quantidade de réplicas simultâneas.
  • Ingress: expor rotas para fora do cluster.

Etapas da aplicação

Este tópico apresenta os estágios a serem seguidos para implementação.

  • Aplicar arquivo para criação do namespace.
kubectl apply -f namespace/namespace.yaml
  • O estágio anterior pode ser substituído pelo comando abaixo.
kubectl create namespace labwordpress
  • Listar namespaces.
kubectl get namespace
  • Aplicar arquivos de criação dos services.
kubectl apply -f services/mysql-svc.yaml
kubectl apply -f services/wordpress-svc.yaml
  • Listar services do namespace labwordpress.
kubectl get svc -n labwordpress
  • Modelo do arquivo secret.yaml.
apiVersion: v1
kind: Secret
metadata:
  name: mysql-secret
  namespace: labwordpress
type: Opaque
data:
  mysql_root_password: <root-password>
  mysql_user: <user>
  mysql_password: <user-password>
  • Aplicar arquivo secret.
kubectl apply -f secrets/secret.yaml
  • Verificar secret do namespace labwordpress.
kubectl get secret -n labwordpress
  • Aplicar arquivos de PersistentVolumeClaim (PVC).
kubectl apply -f volumes/mysql-pvc.yaml
kubectl apply -f volumes/wordpress-pvc.yaml
  • Verificar a criação dos PVCs do namespace labwordpress.
kubectl get pvc -n labwordpress
  • Aplicar arquivos de deployment.
kubectl apply -f deployments/mysql.yaml
kubectl apply -f deployments/wordpress.yaml
  • Verificar deployments do namespace labwordpress.
kubectl get deployment -n labwordpress
  • Aplicar arquivo do ingress-controller baseado no nginx.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/cloud/deploy.yaml
  • Verificar pods do ingress.
kubectl get pods -n ingress-nginx
  • Aplicar arquivo do ingress.
kubectl apply -f ingress/wordpress-ingress.yaml
  • Verificar ingress do namespace labwordpress.
kubectl get ingress -n labwordpress
  • Listar recursos do namespace labwordpress.
kubectl get all -n labwordpress

Acesso

  • Alterar arquivo hosts adicionando linha contendo o IP do host e o domínio do host adicionado no ingress.
C:\Windows\System32\drivers\etc\hosts
127.0.0.1    wordpress.compass.com
\\wsl$\docker-desktop-data\data\k8s-pvs
  • Container.
kubectl exec -it <pod-name> -n labwordpress -- /bin/bash
  • Verificar logs.
kubectl logs -f <pod-name> -n labwordpress

About

Aplicação das tecnologias WordPress e MySQL utilizando Kubernetes

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published