https://github.com/jonathanmdr/workshop-k8s
Workshop introdutório sobre Kubernetes
https://github.com/jonathanmdr/workshop-k8s
helm helm-charts k8s kubernetes workshop-k8s workshop-sobre-kubernetes
Last synced: 3 months ago
JSON representation
Workshop introdutório sobre Kubernetes
- Host: GitHub
- URL: https://github.com/jonathanmdr/workshop-k8s
- Owner: jonathanmdr
- Created: 2021-03-24T13:22:24.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-06-22T01:26:04.000Z (about 4 years ago)
- Last Synced: 2025-06-18T11:53:08.285Z (about 1 year ago)
- Topics: helm, helm-charts, k8s, kubernetes, workshop-k8s, workshop-sobre-kubernetes
- Language: Shell
- Homepage:
- Size: 206 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Workshop Introdução ao kubernetes
Workshop sobre Kubernetes, conhecendo e aplicando alguns conceitos básicos de uso do k8s.
Também conheceremos e aplicaremos os conceitos de uso do helm como gerenciador de pacotes para aplicações em cluster kubernetes.
[](https://kubernetes.io)
[](https://minikube.sigs.k8s.io)
[](https://helm.sh/)
## Sobre o Projeto
O projeto consiste em dois microsserviços simples baseados no NGINX, ambos possuem uma variável de ambiente de nome `AUTHOR` onde podemos passar um nome ou algo que desejemos que seja exibido junto a mensagem de boas vindas ao acessar o serviço.
## Arquitetura do projeto
[](https://github.com/jonathanmdr/workshop-k8s/blob/master)
## Setup Ambiente
Execute o script bash `*_setup.sh` para montar o ambiente com os recursos necessários de acordo com o seu sistema operacional.
> :information_source: Suporte para interpretadores `bash` & `zsh`.
>
> :warning: O script foi testado somente em distribuições Linux baseadas no Debian, Mac x86-64 e M1.
Requirements | Linux | Mac
--|--|--|
`curl` | Yes | Yes
`git` | Yes | No
`docker` | Yes | Yes
`brew` | No | Yes
Installation Components |
--|
`kubectx` |
`kubens` |
`kubectl` |
`helm` |
`minikube` |
### Exemplo de Uso Setup
#### Linux
```bash
~$ ./linux_ubuntu_setup.sh bash #Para quem utiliza o .bashrc
~$ ./linux_ubuntu_setup.sh zsh #Para quem utiliza o .zshrc
```
#### Mac M1
```bash
~$ ./mac_m1_setup.sh
```
#### Mac x86-64
```bash
~$ ./mac_x86_64_setup.sh
```
[Setup Linux File](https://github.com/jonathanmdr/workshop-k8s/blob/master/utils/linux_ubuntu_setup.sh)
[Setup Mac M1 File](https://github.com/jonathanmdr/workshop-k8s/blob/master/utils/mac_m1_setup.sh)
[Setup Mac x86-64 File](https://github.com/jonathanmdr/workshop-k8s/blob/master/utils/mac_x86_64_setup.sh)
## Deploy
Execute o script bash `deploy.sh` para subir a aplicação toda no cluster kubernetes local configurado anteriormente no setup.
> :information_source: Suporte para interpretadores `bash` & `zsh`.
>
> :warning: O script foi testado somente em distribuições Linux baseadas no Debian, Mac x86-64 e M1.
### Exemplo de Uso Deploy
```bash
~$ ./deploy.sh up #Para fazer o deploy da aplicação
~$ ./deploy.sh down #Para fazer o undeploy da aplicação
```
> O deploy da aplicação considera que exista um DNS válido informado na propriedade `host` nas regras de especificações do `Ingress`, para simular o comportamento em ambiente local com o `Minikube` é necessário mapear o `IP` do `Minikube` no arquivo localizado em `/etc/hosts`.
> O `IP` pode ser obtido através do seguinte comando: `minikube ip`.
> O nosso DNS que deve ser configurado é: `workshop-k8s`.
[Deploy Application File](https://github.com/jonathanmdr/workshop-k8s/blob/master/utils/deploy.sh)