Meus sites


Sites relevantes


Contato

Email: devanon.kyosha@gmail.com

Try scrolling the rest of the page to see this option in action.

Sejam bem vindos

Fabrício Web Home Page

Desenvolvimento PHP Laravel, Manutenção em sites PHP, Arquitetura de serviços Web, Geração de endpoints REST API e Tutoriais.

Sejam bem vindos à página Fabrício Web. Eu sou o Fabrício Dias.
Passarei aqui uma parte significativa de minha experiência. Acompanhe minhas publicações. Vou publicar amenidades nerds também. O site está em desenvolvimento, e vou colocar melhorias ainda. E com certeza vou adicionar interação com o leitor em breve.

Fabrício Dias de Oliveira

Kubernetes - uma introdução rápida

O Docker surgiu por causa do problema da incompatibilidade entre o ambiente de produção, de desenvolvimento, de homologação e de produção durante o processo de desenvolvimento e entrega do software. O Kubernetes surgiu como um modo de montar um ambiente arquitetural com vários containers Docker, de modo que isso possa ser usado em larga escala.

Todo o gerenciamento é automático, o próprio Kubernetes consegue controlar tudo isso.

Minikube

O Minikube é o programa padrão para fazer testes locais com o Kubernetes. Ele permite ver como a arquitetura irá funcionar em produção ainda na máquina do arquiteto.

Instalando

wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

chmod +x minikube-linux-amd64

sudo mv minikube-linux-amd64 /usr/local/bin/minikube

 

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

chmod +x ./kubectl

sudo mv ./kubectl /usr/local/bin/kubectl

 

Instale o VirtualBox para a configuração padrão:

sudo apt -y install virtualbox virtualbox-ext-pack

Verificando as versões

Minikube

minikube version

Kubectl

kubectl version -o json --client

Iniciando

minikube start

Parando

minikube stop –all

Crie um arquivo para teste

nginx-full.yaml

apiVersion: v1
kind: Service
metadata:
  name: service-nginx
spec:
  type: LoadBalancer
  ports:
    - port: 80
      nodePort: 30000
  selector:
    app: nginx-app
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: csi-pvc-nginx
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  template:
    metadata:
      name: nginx
      labels:
        app: nginx-app
    spec:
      containers:
        - name: nginx-php-fpm
          image: wyveo/nginx-php-fpm:php74
          ports:
            - containerPort: 80
          volumeMounts:
          - mountPath: /usr/share/nginx/html
            name: disco002
          resources:
            requests:
              cpu: 10m
      volumes:
      - name: disco002
        persistentVolumeClaim:
          claimName: csi-pvc-nginx
  selector:
    matchLabels:
      app: nginx-app

E o salve.

  • Inicie o minikube:
    • minikube start

O comando que usaremos para interagir com o cluster kubernetes é o kubectl.

  • Faça a carga da arquitetura do sistema
    • kubectl apply -f nginx-full.yaml
  • Veja os pods em execução:
    • kubectl get pods
      • Importante: use esse comando algumas vezes, até que os STATUS de todos esteja running.
  • Veja os services disponíveis:
    • kubectl get services
    • Será exibido algo como:

      NAME            TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
      kubernetes      ClusterIP           10.96.0.1             <none>          443/TCP            2m5s
      service-nginx   LoadBalancer   10.105.170.196   <pending>     80:30000/TCP   93s
       
  • Veja o endereço do node:
    • kubectl get node -o wide
    • Será exigido algo como:
      NAME       STATUS   ROLES           AGE     VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE                 KERNEL-VERSION      CONTAINER-RUNTIME
      minikube   Ready      control-plane   2m56s   v1.26.3      192.168.49.2     <none>              Ubuntu 20.04.5 LTS   5.15.0-76-generic          docker://23.0.2
       
  • Acesse a aplicação com INTERNAL-IP:PORT(S). No meu caso é 192.168.49.2:30000.

Será exibida a mensagem Forbiden, porque não há nada no seu nginx. Nos próximos artigos, ensinarei mais detalhes.

Fonte

https://www.alura.com.br/

Fabrício Dias de Oliveira

Procurar artigos