Python web uygulamamızı deploy edeceğiz. Terraform ile AWS'de Master ve Worker olacak şekilde 2 tane EC2 ayağa kaldıracağız. Daha sonra bu EC2'lara ansible yardımı ile kubernetes'i kuracağız.
- Terraform
- Ansible
- Aws Account
- AwsCLI
- Helm3
- Python Uygulamasının Dockerize Edilmesi
- Terraform
- Terraform Apply
- Ansible
- Aws Storage Class
- AZURE DEVOPS İLE CI/CD | Build Pipeline
- Deploying MySQL on Kubernetes
- Helm İle İlk Deploy | Helm Chart
- AZURE DEVOPS İLE CI/CD | Release Pipeline
- Build Pipeline Testing | Pylint
- Build Pipeline Testing | PyTEST
- Build Pipeline Testing | Trivy
- Azure DevOps Pipelines Export
Kubernetes ortamının ve mysqllerin kurulması için aşağıdaki komutları çalıştabilirsiniz.
git clone https://github.com/oguzzarci/pythonindevops.git
cd pythonindevops
# INFRA
sh infrasetup.sh
# Note: ansible klasörünün altında oluşan admin.cof dosyasını $HOME/.kube/ altında config olarak atmalısınız.
# !!! config dosyasınızın yedeğini almayı unutmayın !!!
# MYSQL
sh allmysqlinstall.sh
# Note: Certificate hatası alıyorsanız bknz: https://github.com/oguzzarci/pythonindevops/blob/master/9-ReleasePipeline.md
Kurduğumuz herşeyi aşağıdaki komutla silebiliriz.
#DESTROY
sh destroy.sh