An open API service indexing awesome lists of open source software.

https://github.com/oanderoficial/myapp-service

Implantando aplicativo criado com Dockerfile. Atividade 2 - Treinamento Trilha Orquestração de Containers
https://github.com/oanderoficial/myapp-service

cluster docker k8s kubernetes

Last synced: 7 months ago
JSON representation

Implantando aplicativo criado com Dockerfile. Atividade 2 - Treinamento Trilha Orquestração de Containers

Awesome Lists containing this project

README

          

# myapp-service
Atividade 2 - Treinamento Trilha Orquestração de Containers


link: https://academy.o2b.com.br/courses/trilha-orquestracao-de-conteiners-t-systems

Implantando aplicativo criado com Dockerfile.

Objetivos:

- Criar um Deployment para a aplicação que foi criada no treinamento de Docker chamada myk8sapp.
- Expor a aplicação através de um Service.

# Passos:

1 Crie um Deployment:

- Crie um arquivo YAML chamado myapp-deployment.yaml.
- Defina um Deployment para a aplicação chamada “myapp”.
- Use uma imagem Docker que você criou anteriormente.
- Configure o número de réplicas para 2.
- Defina um rótulo adequado para o Deployment.

2 Crie um Service:

- Crie um arquivo YAML chamado myapp-service.yaml.
- Defina um Service chamado “myapp-service”.
- Exponha a porta 80 do Deployment.
- Use um seletor adequado para direcionar o tráfego para as réplicas corretas.

3 Implante a Aplicação:

- Aplique os arquivos YAML na ordem: Deployment e Service.
- Verifique se a aplicação está em execução corretamente.

# Implantação:

Passo 1: Download da aplicação HTML CSS e JS
- GitHub:
```bash
git clone https://github.com/oanderoficial/infrabank.git
cd /infrabank
```
Passo 2: Crie a imagem Docker

- Crie um Dockerfile no mesmo diretório:

```Dockerfile
FROM nginx:alpine

# Autor
LABEL author="Anderson B Silva "

COPY . /usr/share/nginx/html
```

- Construa a imagem Docker:

```bash
docker build -t myk8sapp:latest .
```

![image](https://github.com/oanderoficial/myapp-service/assets/32654298/485f93d2-e24f-4f60-90f1-250815a24a3a)

- Faça o upload da imagem para um registro de contêiner, como Docker Hub:

```bash
docker tag myk8sapp:latest yourusername/myk8sapp:latest
docker push yourusername/myk8sapp:latest
```

Passo 3: Criando o Deployment

- Crie um arquivo chamado myapp-deployment.yaml

```yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 2
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myk8sapp
image: yourusername/myk8sapp:latest
ports:
- containerPort: 80
```

Passo 4: Criando o Service

- Crie um arquivo chamado myapp-service.yaml

```yaml
apiVersion: v1
kind: Service
metadata:
name: myapp-service
spec:
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 80
```

Passo 5: Implante a Aplicação

- Aplique o Deployment:
```bash
kubectl apply -f myapp-deployment.yaml
```
- Aplique o Service:
```bash
kubectl apply -f myapp-service.yaml
```
- Verifique se a aplicação está em execução corretamente:
```bash
kubectl get deployments
kubectl get pods
kubectl get services
```
![image](https://github.com/oanderoficial/myapp-service/assets/32654298/59dec23d-bde4-43bc-8532-e7e3b6fbb7ba)

Start com o Minikube

Se você estiver usando Minikube, você pode expor o serviço com o comando minikube service:

```bash
minikube service myapp-service
```
Bind de portas

```
kubectl port-forward svc/myapp-service 8080:80 --address='0.0.0.0'
```
![image](https://github.com/oanderoficial/myapp-service/assets/32654298/99e9f68d-3270-4243-b843-b6bdd43a2bb4)

# Saída

![image](https://github.com/oanderoficial/myapp-service/assets/32654298/0fdfa793-4b8c-421f-8904-0713504fb8b2)

DockerHub container de exemplo:

```bash
docker pull oandersonbsilva/nginx:latest
```

- Link: https://hub.docker.com/repository/docker/oandersonbsilva/nginx/general