Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
dd8b4c6
repopulando pos-bkp restore
marsselu Oct 12, 2025
0e09e7f
deploy com strategy RollingUpdate
marsselu Oct 12, 2025
4fd5c6a
deploy com strategy Recreate + Rollback
marsselu Oct 12, 2025
122907e
organiza gitignore
marsselu Oct 12, 2025
9e7dab1
corrigindo push day1
marsselu Oct 12, 2025
345bdf8
corrigindo push day1
marsselu Oct 12, 2025
e76f465
organizando pushs day3
marsselu Oct 12, 2025
e142e9f
corrigindo texto no reamde
marsselu Oct 12, 2025
2924f36
corrigindo texto no reamde
marsselu Oct 12, 2025
8f06d6b
comentando o nginx-deployment.yaml
marsselu Oct 12, 2025
f9e8934
subindo o exemplo nginx-deployment.yaml
marsselu Oct 13, 2025
1fc3785
exemplo com 3 probes no nginx-deployment.yaml
marsselu Oct 13, 2025
03af746
deployment task-day4-deployment com 2 replicas, 3 containers, cada co…
marsselu Oct 15, 2025
d4c5394
deployment task-day4-deployment com 2 replicas, 3 containers, cada co…
marsselu Oct 15, 2025
f16ef50
alterando instalação do K8s na documentação
marsselu Oct 22, 2025
d95906c
criando maquinas com IaC na AWS, utilizando Terraform
marsselu Oct 22, 2025
308098b
atualizando documentação do day5: substituindo Weave Net por Calico
marsselu Oct 24, 2025
0d307c6
atualizando documentação do day5: substituindo Weave Net por Calico
marsselu Oct 24, 2025
4c6169f
criando storageclass e storageclass-nf, tambem persistente-volumes e …
marsselu Oct 24, 2025
1bd2edd
re-organizando local da criação do storageclass padrão com local-path
marsselu Oct 25, 2025
a2a51ee
re-organizando local da criação do storageclass padrão com local-path…
marsselu Oct 25, 2025
21ad264
re-organizando local da criação do storageclass padrão com local-path…
marsselu Oct 25, 2025
9e97a64
re-organizando readme
marsselu Oct 25, 2025
b4cadc8
addicionando storageclass-local-path.yaml
marsselu Oct 25, 2025
f662c1d
fim day6
marsselu Oct 28, 2025
3446ef6
correção de texto - day7 - readme
marsselu Oct 28, 2025
58247ad
correção de texto linha 93- day7 - readme
marsselu Oct 28, 2025
d88d40c
correção de texto linha 160-165- day7 - readme
marsselu Oct 28, 2025
3f8c6a5
correção de texto linha 172-175- day7 - readme
marsselu Oct 28, 2025
421448a
correção de texto linha 222-227- day7 - readme
marsselu Oct 28, 2025
9ba6337
nova revisão - readme
marsselu Oct 29, 2025
2ab3534
nova revisão - readme
marsselu Oct 29, 2025
10f2e93
nova revisão - readme
marsselu Oct 29, 2025
b015bb3
correção linha 398 - readme
marsselu Oct 29, 2025
2cdea5f
subindo o nginx-statefulset.yaml
marsselu Oct 29, 2025
019a1ae
subindo o nginx-headless-service.yaml
marsselu Oct 29, 2025
795a8f3
upando deploys de clusterip, headless, loadbalancer, statefull
marsselu Oct 30, 2025
44fe644
upando pratica da aula day8 - dockerhub-secret, pod-nginx, pod-imagem…
marsselu Oct 31, 2025
c40b0d6
corrigindo dockerhub-secret
marsselu Oct 31, 2025
d973e4c
add e correct linhas 390-403
marsselu Oct 31, 2025
3b07e1b
add e correct linhas 390-403
marsselu Oct 31, 2025
0558be2
add e correct linhas 432
marsselu Oct 31, 2025
a74db93
add e correct linhas 440
marsselu Oct 31, 2025
be28a70
aula de configmap, secret, certificado
marsselu Nov 1, 2025
3d4c5ef
ajustando diretorios
marsselu Nov 4, 2025
3e53fc1
atualiza dias 11 e 13
marsselu Jan 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,17 @@
*vscode*
*yaml.*
*.log
*.swp
*.tmp
*.bak
*.old
*.orig
*.rej
*.DS_Store
*.pdf
*.jpg
*.png
*.zip
*.webp
*.md.*

6 changes: 6 additions & 0 deletions DescomplicandoKubernetes/day-1/kind/kind-cluster.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
22 changes: 22 additions & 0 deletions DescomplicandoKubernetes/day-1/pod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
apiVersion: v1
kind: Pod
metadata:
labels:
run: giropops
name: giropops-2
spec:
containers:
- image: nginx
name: giropops
ports:
- containerPort: 80
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "250m"
memory: "256Mi"
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
17 changes: 17 additions & 0 deletions DescomplicandoKubernetes/day-10/nginx-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: v1 # versão da API
kind: ConfigMap # tipo de recurso, no caso, um ConfigMap
metadata: # metadados do recurso
name: nginx-config # nome do recurso
data: # dados do recurso
nginx.conf: | # inicio da definição do arquivo de configuração do Nginx
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /metrics {
stub_status on;
access_log off;
}
}
43 changes: 43 additions & 0 deletions DescomplicandoKubernetes/day-10/nginx-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
apiVersion: apps/v1 # versão da API
kind: Deployment # tipo de recurso, no caso, um Deployment
metadata: # metadados do recurso
name: nginx-server # nome do recurso
spec: # especificação do recurso
selector: # seletor para identificar os pods que serão gerenciados pelo deployment
matchLabels: # labels que identificam os pods que serão gerenciados pelo deployment
app: nginx # label que identifica o app que será gerenciado pelo deployment
replicas: 3 # quantidade de réplicas do deployment
template: # template do deployment
metadata: # metadados do template
labels: # labels do template
app: nginx # label que identifica o app
annotations: # annotations do template
prometheus.io/scrape: 'true' # habilita o scraping do Prometheus
prometheus.io/port: '9113' # porta do target
spec: # especificação do template
containers: # containers do template
- name: nginx # nome do container
image: nginx # imagem do container do Nginx
ports: # portas do container
- containerPort: 80 # porta do container
name: http # nome da porta
volumeMounts: # volumes que serão montados no container
- name: nginx-config # nome do volume
mountPath: /etc/nginx/conf.d/default.conf # caminho de montagem do volume
subPath: nginx.conf # subpath do volume
- name: nginx-exporter # nome do container que será o exporter
image: 'nginx/nginx-prometheus-exporter:0.11.0' # imagem do container do exporter
args: # argumentos do container
- '-nginx.scrape-uri=http://localhost/metrics' # argumento para definir a URI de scraping
resources: # recursos do container
limits: # limites de recursos
memory: 128Mi # limite de memória
cpu: 0.3 # limite de CPU
ports: # portas do container
- containerPort: 9113 # porta do container que será exposta
name: metrics # nome da porta
volumes: # volumes do template
- configMap: # configmap do volume, nós iremos criar esse volume através de um configmap
defaultMode: 420 # modo padrão do volume
name: nginx-config # nome do configmap
name: nginx-config # nome do volume
17 changes: 17 additions & 0 deletions DescomplicandoKubernetes/day-10/nginx-pod-monitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: monitoring.coreos.com/v1 # versão da API
kind: PodMonitor # tipo de recurso, no caso, um PodMonitor do Prometheus Operator
metadata: # metadados do recurso
name: nginx-podmonitor # nome do recurso
labels: # labels do recurso
app: nginx-pod # label que identifica o app
spec:
namespaceSelector: # seletor de namespaces
matchNames: # namespaces que serão monitorados
- default # namespace que será monitorado
selector: # seletor para identificar os pods que serão monitorados
matchLabels: # labels que identificam os pods que serão monitorados
app: nginx-pod # label que identifica o app que será monitorado
podMetricsEndpoints: # endpoints que serão monitorados
- interval: 10s # intervalo de tempo entre as requisições
path: /metrics # caminho para a requisição
targetPort: 9113 # porta do target
33 changes: 33 additions & 0 deletions DescomplicandoKubernetes/day-10/nginx-pod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: v1 # versão da API
kind: Pod # tipo de recurso, no caso, um Pod
metadata: # metadados do recurso
name: nginx-pod # nome do recurso
labels: # labels do recurso
app: nginx-pod # label que identifica o app
spec: # especificações do recursos
containers: # containers do template
- name: nginx-container # nome do container
image: nginx # imagem do container do Nginx
ports: # portas do container
- containerPort: 80 # porta do container
name: http # nome da porta
volumeMounts: # volumes que serão montados no container
- name: nginx-config # nome do volume
mountPath: /etc/nginx/conf.d/default.conf # caminho de montagem do volume
subPath: nginx.conf # subpath do volume
- name: nginx-exporter # nome do container que será o exporter
image: 'nginx/nginx-prometheus-exporter:0.11.0' # imagem do container do exporter
args: # argumentos do container
- '-nginx.scrape-uri=http://localhost/metrics' # argumento para definir a URI de scraping
resources: # recursos do container
limits: # limites de recursos
memory: 128Mi # limite de memória
cpu: 0.3 # limite de CPU
ports: # portas do container
- containerPort: 9113 # porta do container que será exposta
name: metrics # nome da porta
volumes: # volumes do template
- configMap: # configmap do volume, nós iremos criar esse volume através de um configmap
defaultMode: 420 # modo padrão do volume
name: nginx-config # nome do configmap
name: nginx-config # nome do volume
31 changes: 31 additions & 0 deletions DescomplicandoKubernetes/day-10/nginx-prometheusrule.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: monitoring.coreos.com/v1 # Versão da api do PrometheusRule
kind: PrometheusRule # Tipo do recurso
metadata: # Metadados do recurso (nome, namespace, labels)
name: nginx-prometheus-rule
namespace: monitoring
labels: # Labels do recurso
prometheus: k8s # Label que indica que o PrometheusRule será utilizado pelo Prometheus do Kubernetes
role: alert-rules # Label que indica que o PrometheusRule contém regras de alerta
app.kubernetes.io/name: kube-prometheus # Label que indica que o PrometheusRule faz parte do kube-prometheus
app.kubernetes.io/part-of: kube-prometheus # Label que indica que o PrometheusRule faz parte do kube-prometheus
spec: # Especificação do recurso
groups: # Lista de grupos de regras
- name: nginx-prometheus-rule # Nome do grupo de regras
rules: # Lista de regras
- alert: NginxDown # Nome do alerta
expr: nginx_up == 0 # alerta ja criado --> Expressão que será utilizada para disparar o alerta
#expr: up{job="nginx"} == 0 # Expressão que será utilizada para disparar o alerta
for: 1m # Tempo que a expressão deve ser verdadeira para que o alerta seja disparado
labels: # Labels do alerta
severity: critical # Label que indica a severidade do alerta
annotations: # Anotações do alerta
summary: "Nginx is down" # Título do alerta
description: "Nginx is down for more than 1 minute. Pod name: {{ $labels.pod }}" # Descrição do alerta
- alert: NginxHighRequestRate # Nome do alerta
expr: rate(nginx_http_requests_total[5m]) > 10 # Expressão que será utilizada para disparar o alerta
for: 1m # Tempo que a expressão deve ser verdadeira para que o alerta seja disparado
labels: # Labels do alerta
severity: warning # Label que indica a severidade do alerta
annotations: # Anotações do alerta
summary: "Nginx is receiving high request rate" # Título do alerta
description: "Nginx is receiving high request rate for more than 1 minute. Pod name: {{ $labels.pod }}" # Descrição do alerta
12 changes: 12 additions & 0 deletions DescomplicandoKubernetes/day-10/nginx-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: v1 # versão da API
kind: Service # tipo de recurso, no caso, um Service
metadata: # metadados do recurso
name: nginx-svc # nome do recurso
labels: # labels do recurso
app: nginx # label para identificar o svc
spec: # especificação do recurso
ports: # definição da porta do svc
- port: 9113 # porta do svc
name: metrics # nome da porta
selector: # seletor para identificar os pods/deployment que esse svc irá expor
app: nginx # label que identifica o pod/deployment que será exposto
14 changes: 14 additions & 0 deletions DescomplicandoKubernetes/day-10/nginx-servicemonitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: monitoring.coreos.com/v1 # versão da API
kind: ServiceMonitor # tipo de recurso, no caso, um ServiceMonitor do Prometheus Operator
metadata: # metadados do recurso
name: nginx-servicemonitor # nome do recurso
labels: # labels do recurso
app: nginx # label que identifica o app
spec: # especificação do recurso
selector: # seletor para identificar os pods que serão monitorados
matchLabels: # labels que identificam os pods que serão monitorados
app: nginx # label que identifica o app que será monitorado
endpoints: # endpoints que serão monitorados
- interval: 10s # intervalo de tempo entre as requisições
path: /metrics # caminho para a requisição
targetPort: 9113 # porta do target
25 changes: 25 additions & 0 deletions DescomplicandoKubernetes/day-11/ingress/app-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: giropops-senhas
name: giropops-senhas
spec:
replicas: 2
selector:
matchLabels:
app: giropops-senhas
template:
metadata:
labels:
app: giropops-senhas
spec:
containers:
- image: linuxtips/giropops-senhas:1.0
name: giropops-senhas
env:
- name: REDIS_HOST
value: redis-service
ports:
- containerPort: 5000
imagePullPolicy: Always
15 changes: 15 additions & 0 deletions DescomplicandoKubernetes/day-11/ingress/app-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: giropops-senhas
labels:
app: giropops-senhas
spec:
selector:
app: giropops-senhas
ports:
- protocol: TCP
port: 5000
targetPort: 5000
name: tcp-app
type: ClusterIP
1 change: 1 addition & 0 deletions DescomplicandoKubernetes/day-11/ingress/auth
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
marceleza:$apr1$0JR5.22e$27fqoo1oZOP72ixE8/zKa/
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
- role: worker
- role: worker
networking:
disableDefaultCNI: false
podSubnet: "10.244.0.0/16"
17 changes: 17 additions & 0 deletions DescomplicandoKubernetes/day-11/ingress/ingress-1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: giropops-senhas
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /giropops-senhas
pathType: Prefix
backend:
service:
name: giropops-senhas
port:
number: 5000
17 changes: 17 additions & 0 deletions DescomplicandoKubernetes/day-11/ingress/ingress-2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: giropops-senhas-static
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /static
pathType: Prefix
backend:
service:
name: giropops-senhas
port:
number: 5000
17 changes: 17 additions & 0 deletions DescomplicandoKubernetes/day-11/ingress/ingress-3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: giropops-senhas
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: giropops-senhas
port:
number: 5000
17 changes: 17 additions & 0 deletions DescomplicandoKubernetes/day-11/ingress/ingress-4.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx
port:
number: 80
19 changes: 19 additions & 0 deletions DescomplicandoKubernetes/day-11/ingress/ingress-5.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: giropops-senhas
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
#- host: giropops.senhas.io
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: giropops-senhas
port:
number: 5000
Loading