ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
#RedHatOSD
COSA PUOI FARE CON ANSIBLE
IN 1200 SECONDI?
Matteo Santucci – Senior Cloud Engineer
Ramon Orru – Senior Cloud Engineer
ROMA – 20 NOVEMBRE 2019 | MILANO – 3 DICEMBRE 2019
#RedHatOSD
PAR-TEC IN A NUTSHELL
Par-Tec è un software & infrastructure system integrator che si distingue per:
• la proposizione al mercato di servizi professionali altamente qualificati e soluzioni cross-market
• il rispetto degli standard e la promozione delle tecnologie open source
Siamo uno dei pochi Red Hat Premier Business Partner italiani
I primi in Italia con specializzazione Cloud Infrastructure
In Italia siamo considerati dei veterani del cappello rosso
Collaboriamo da 14 anni e questo è il nostro 9° Open Source Day
#RedHatOSD
ALCUNI NOSTRI CLIENTI
#RedHatOSD
OLD STYLE SYSTEM ADMINISTRATION
for server in 192.168.0.10 192.168.0.11
do
ssh root@$server rm –f ~/a_file.txt
done
for server in $(seq 10 200)
do
ssh root@192.168.0.$server rm –f ~/a_file.txt
done
cat <<'EOF' >> hostlist
192.168.0.30
...
192.168.0.40
EOF
for server in $(cat hostlist)
do
ssh root@$server rm –f ~/a_file.txt
done
Quali sono i limiti di questo
approccio?
• No Infrastructure-as-a-Code
• Niente parallelismo
• Nessuna gestione dei metadati
• Scarsa riusabilità del codice
• Assenza di moduli pronti
all'uso
#RedHatOSD
BRAVE NEW WORLD
git clone https://github.com/ansible/ansible.git
cd ansible
git reset --hard f31421576b00f0b167cdbe61217c31c21a41ac02
cat README.md
wc –l ./lib/ansible/__init__.py
165 ./lib/ansible/__init__.py
Solo 165 linee di codice per ovviare ai limiti dell'approccio tradizionale
#RedHatOSD
COSA CAMBIA CON ANSIBLE?
• Inventory configurabile, dinamico,
multiformato
• Workflow testuale
• Python powered
#RedHatOSD
ANSIBLE vs REST OF THE WORLD
STATE MASTER MINION
MODULE PUPPET SERVER PUPPET CLIENT
COOKBOOK INFRA SERVER INFRA CLIENT
PLAYBOOK NO SERVER NO AGENT
#RedHatOSD
INSTALLAZIONE OPENSHIFT
INIT
# ssh-keygen
# for host in master.example.com 
node1.example.com 
node2.example.com; 
do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; 
done
# no_proxy=.internal.example.com,10.0.0.1,10.0.0.2,10.0.0.3,.cluster.local,.svc,localhost,127.0.0.1,172.30.0.1
# yum install wget git net-tools bind-utils yum-utils 
iptables-services bridge-utils bash-completion kexec-tools sos psacct
# yum update
# reboot
# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# sed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo
# yum -y --enablerepo=epel install ansible pyOpenSSL
# cd ~
# git clone https://github.com/openshift/openshift-ansible
# cd openshift-ansible
# git checkout release-3.11
# yum install docker-1.13.1
# rpm -V docker-1.13.1
# docker version
# cat <<EOF > /etc/sysconfig/docker-storage-setup
DEVS=/dev/vdc
VG=docker-vg
EOF
# docker-storage-setup
# systemctl enable docker
# systemctl start docker
# systemctl is-active docker
PREREQUISITES DEPLOY
#RedHatOSD
CHE LA SFIDA ABBIA INIZIO!
#RedHatOSD

More Related Content

Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?

  • 1. #RedHatOSD COSA PUOI FARE CON ANSIBLE IN 1200 SECONDI? Matteo Santucci – Senior Cloud Engineer Ramon Orru – Senior Cloud Engineer ROMA – 20 NOVEMBRE 2019 | MILANO – 3 DICEMBRE 2019
  • 2. #RedHatOSD PAR-TEC IN A NUTSHELL Par-Tec è un software & infrastructure system integrator che si distingue per: • la proposizione al mercato di servizi professionali altamente qualificati e soluzioni cross-market • il rispetto degli standard e la promozione delle tecnologie open source Siamo uno dei pochi Red Hat Premier Business Partner italiani I primi in Italia con specializzazione Cloud Infrastructure In Italia siamo considerati dei veterani del cappello rosso Collaboriamo da 14 anni e questo è il nostro 9° Open Source Day
  • 4. #RedHatOSD OLD STYLE SYSTEM ADMINISTRATION for server in 192.168.0.10 192.168.0.11 do ssh root@$server rm –f ~/a_file.txt done for server in $(seq 10 200) do ssh root@192.168.0.$server rm –f ~/a_file.txt done cat <<'EOF' >> hostlist 192.168.0.30 ... 192.168.0.40 EOF for server in $(cat hostlist) do ssh root@$server rm –f ~/a_file.txt done Quali sono i limiti di questo approccio? • No Infrastructure-as-a-Code • Niente parallelismo • Nessuna gestione dei metadati • Scarsa riusabilità del codice • Assenza di moduli pronti all'uso
  • 5. #RedHatOSD BRAVE NEW WORLD git clone https://github.com/ansible/ansible.git cd ansible git reset --hard f31421576b00f0b167cdbe61217c31c21a41ac02 cat README.md wc –l ./lib/ansible/__init__.py 165 ./lib/ansible/__init__.py Solo 165 linee di codice per ovviare ai limiti dell'approccio tradizionale
  • 6. #RedHatOSD COSA CAMBIA CON ANSIBLE? • Inventory configurabile, dinamico, multiformato • Workflow testuale • Python powered
  • 7. #RedHatOSD ANSIBLE vs REST OF THE WORLD STATE MASTER MINION MODULE PUPPET SERVER PUPPET CLIENT COOKBOOK INFRA SERVER INFRA CLIENT PLAYBOOK NO SERVER NO AGENT
  • 8. #RedHatOSD INSTALLAZIONE OPENSHIFT INIT # ssh-keygen # for host in master.example.com node1.example.com node2.example.com; do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; done # no_proxy=.internal.example.com,10.0.0.1,10.0.0.2,10.0.0.3,.cluster.local,.svc,localhost,127.0.0.1,172.30.0.1 # yum install wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct # yum update # reboot # yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # sed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo # yum -y --enablerepo=epel install ansible pyOpenSSL # cd ~ # git clone https://github.com/openshift/openshift-ansible # cd openshift-ansible # git checkout release-3.11 # yum install docker-1.13.1 # rpm -V docker-1.13.1 # docker version # cat <<EOF > /etc/sysconfig/docker-storage-setup DEVS=/dev/vdc VG=docker-vg EOF # docker-storage-setup # systemctl enable docker # systemctl start docker # systemctl is-active docker PREREQUISITES DEPLOY
  • 9. #RedHatOSD CHE LA SFIDA ABBIA INIZIO!