Infra as Code >>> This repository is migrating to https://github.com/fabianoflorentino/swiss-army-knife <<<
Descrição: Instalação e configuração de serviços de infraestrutura com Terraform e Ansible.
- Márquina Virtual VMware/vSphere
- Kubernetes Cluster
- HAProxy
- Jenkins
- Elastic Stack
-
Terrafom
- Provisionamento da infraestrutura no Virtualizador VMWare/vSphere
-
Ansible
- Gerencia de configuração do sistema e serviços bases para máquina virtual
-
-
Terraform Sample
Módulo para para criar máquina virtual no VMWare/vSphere- Uso - Terraform Sample
Crie um módulo para provisionar as máquinas virtuais no ambiente a partir do módulo sample
cd ./infrastructure/terraform/modules cp -rf sample <SUA INFRAESTRUTURA>
Ex.
cp -rf sample kubernetes
No arquivo modules.tf preencha com as informações da sua infraestrutura.
OBS: Para cada novo módulo criado é preciso inicializar o terraform para que ele reconheça o novo módulo
Ex.
module "kubernetes" { source = "./modules/kubernetes" vm_count = "3" name_new_vm = "kubernetes-node" num_cpus = "2" num_mem = "2048" size_disk = "70" }
terraform init terraform plan -out kubernetes.tfplan terraform apply kunernetes.tfplan
- Uso - Terraform Sample
-
-
-
Ansible Sample
Inventário para gerenciamento das configurações dos servidores.- Uso - Ansible Sample Dentro do diretório inventorie crie uma cópia do inventário sample
cd ./infrastructure/ansible/inventorie cp -rf sample <SEU INVENTARIO>
No arquivo inventory.ini preencha com os servidores que irão ser gerenciados.
cd ./infrastructure/ansible/inventorie/<SEU INVENTARIO> vim inventory.ini
Ex.
[servers] # node1 ansible_host=1.2.3.4 ip=1.2.3.4 kubernetes-master ansible_host=1.2.3.4 ip=1.2.3.4
no arquivo servers.yml dentro do seu inventário ./infrastructure/ansible/inventorie/<SEU INVENTARIO>/group_vars/servers.yml configure a chave ssh que o ansible irá usar para executar os playbooks
ssh_key: # SSH Information: ~${USER}/.ssh/id_rsa.pub - ""
Ex.
ssh_key: # SSH Information: ~${USER}/.ssh/id_rsa.pub - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhzzHA/GhSSNfDeN68TmnKi7BpbbVQVpFzUvVpx7bANff612htvM1jJCbwud1TKUO+iH34fJGg1LRJEQlpopjvoW21T2qPSwZoocoqupcCzwPm5/J0BqPRZJdYewQUTDtmz77bRD6sKCGgT7z+31NvnzZZjQOTJvfUMQnMDd78rtcp8ktTVf+3F9f3mBVHNcu8Qn6a1RuT+Wnl7WWYTX7q3Irk0p/ZRWkYX6t+jrrSf+4nKocCeLC6tEKssJCV6VaL8YAkzLalOKWJj7dfXIxWhc9An16cVHANFl/xUlQYH3nNyg7MIFcKPFAUrJ+6mU4KiqS9yVDJdZF2ngdOeyob fabianoflorentino"
Para usar o ansible contra seu inventário execute.
Temos 2 roles basicas para a infraestrutura que esta sendo montada.
- ssh
- Configura a chave SSH do usário que está rodando o ansible
- common
- Configura o basico para os servidores.
- Atualização do Sistema Operacional
- Instalando Pacotes Padrão
- Habilitando Serviços Padrão
- Desabilitando serviços não essenciais
- Desabilitando o SELinux
- Configurando o Serviço NTP
- Atualizando o Hostname dos Servidores
- Configura o basico para os servidores.
cd ./infrastructure/ansible ansible-playbook -i inventorie/<SEU INVENTARIO>/inventory.ini -u root -k playbook.yml
-