SlideShare a Scribd company logo
Making environment for
Infrastructure as code
(Basic)
Soshi Nemoto
Mulodo Vietnam Co., Ltd.
— Details for each step -
Please check following before the workshop.
Previous studies
DevOps: What's DevOps
http://www.slideshare.net/nemo-mulodo/devops1-whats-devops-mosg	
DevOps: Vagrant
http://www.slideshare.net/nemo-mulodo/devops2-vagrant-mosg	
DevOps: Ansible
http://www.slideshare.net/nemo-mulodo/devops3-ansible-mosg	
DevOps: Ansible(2)
http://www.slideshare.net/nemo-mulodo/devops4-ansible2-mosg	
DevOps: Fabric
http://www.slideshare.net/nemo-mulodo/fabric-workshop1-mosg	
Preparation for workshop (tools)
http://www.slideshare.net/nemo-mulodo/instruction-dev-environment
Install tools
Create environments
Install tools
List
Vagrant
box file of CentOS6.5
some plugins
Ansible
Fabric
Install Vagrant
- get DMG and install it to your OSX.
https://www.vagrantup.com/
https://www.vagrantup.com/downloads.html
HERE
Install Vagrant box file
YOUR_DIR$ vagrant box list
YOUR_DIR$
• Using box : CentOS6.5
https://github.com/2creatives/vagrant-centos/releases/
download/v6.5.3/centos65-x86_64-20140116.box
YOUR_DIR$ vagrant box install Centos6.5 https://
github.com/2creatives/vagrant-centos/releases/
download/v6.5.3/centos65-x86_64-20140116.box
:

YOUR_DIR$
YOUR_DIR$ vagrant box list
centos6.5 (virtualbox, 0)
YOUR_DIR$
• see) Instruction, DevOps(1)-Vagrant
Install Vagrant plug-ins
YOUR_DIR$ vagrant plugin list
vagrant-share (1.1.5, system)
YOUR_DIR$
• Using Plug-ins
vagrant-fabric
YOUR_DIR$ vagrant plugin install vagrant-fabric
:

YOUR_DIR$
YOUR_DIR$ vagrant plugin list
vagrant-fabric (0.2.2)
vagrant-share (1.1.5, system)
YOUR_DIR$
• Note) New version of Vagrant is including snapshot(instead
of sahara) and Ansible provider.
Install Ansible
YOUR_DIR$ brew install ansible
:
YOUR_DIR$
Install Fabric
YOUR_DIR$ pip install fabric
:
YOUR_DIR$
YOUR_DIR$ brew install python --framework
:
YOUR_DIR$ pip install fabric
:
YOUR_DIR$
If you got errors related python, please try following.
Install tools
Create environments
Put sources to ‘your dir’
YOUR_DIR$ git clone -b Fabric git@github.com:nemo-soshi-
mulodo/OpenDevStudyGroup.git
:
YOUR_DIR$ ls
./ .gitignore Vagrantfile hosts setup.yml
../ FABRIC_TEST/ fabfile.py index.html
.git/ README.md fabric_files/ playbooks/
YOUR_DIR$
Source of Fabric(1) is on github.
git@github.com:nemo-soshi-mulodo/OpenDevStudyGroup.git
* Branch : Fabric
Edir config files (1)
Edit files :
See) https://github.com/nemo-soshi-mulodo/
OpenDevStudyGroup/tree/Fabric
Edir config files (2)
	b	edit "hosts" file to set IP address of the vagrant machine.

	 ▪	{IP_ADDRESS_OF_YOUR_VAGRANT_MACHINE}
	a	edit "Vagrantfile" and fix IP address of your vagrant machine.

	 ▪	{IP_ADDRESS_OF_YOUR_VAGRANT_MACHINE}
config.vm.network "private_network", ip: "{IP_ADDRESS_OF_YOUR_VAGRAN
T_MACHINE}”
config.vm.network "private_network", ip: "192.168.33.60"ex.)
{IP_ADDRESS_OF_YOUR_VAGRANT_MACHINE}
192.168.33.60ex.)
Edir config files (3)
	c	put ssh private key for github access to "fabric_files/resources/".
YOUR_DIR$ cp -i {YOUR_GITHUB_KEY} /YOUR_DIR/fabric_files/resources/
YOUR_DIR$ ls fabric_files/resources/{YOUR_GITHUB_KEY_NAME}
{YOUR_GITHUB_KEY_NAME}
YOUR_DIR$
Edir config files (4)
	 d	 edit "fabric_files/resources/ssh_config".

e	 edit "fabric_files/resource.py".

f	 edit your ssh condig file (~/.ssh/config)
Following 3 steps should be done after
creating target Vagrant machine.
Create Vagrant machine and check
YOUR_DIR$ vagrant up
:
YOUR_DIR$ vagrant status
Current machine states:
default running (virtualbox)
:
YOUR_DIR$
This process will take minutes.
Edir config files (5)
	d	edit "fabric_files/resources/ssh_config".

	 ▪	{PRIVATE_KEY_FILE_FOR_GITHUB}
IdentityFile {PRIVATE_KEY_FILE_FOR_GITHUB}
IdentityFile ~/.ssh/{KEY_FILE_NAME}
The file is copied to “resources/“ by step(3)
Edir config files (6)
	 e	 edit "fabric_files/resource.py".

	 ▪	 {PRIVATE_KEY_FILE_FOR_GITHUB}
env.ssh['sshkey_name'] = '{PRIVATE_KEY_FILE_FOR_GITHUB}'
env.ssh['sshkey_name'] = ‘./resources/{KEY_FILE_NAME}‘
The filename is same as set by step(4).
* Only its path is different from step(4) setting.
Edir config files (7)
	f	 edit your ssh config file (~/.ssh/config)

	 ▪	 {IP_ADDRESS_OF_YOUR_VAGRANT_MACHINE}

	 ▪	 {PRIVATE_KEY_FILE_FOR_VAGRANT_MACHINE}
YOUR_DIR$ vagrant ssh-config
:
IdentityFile “/YOUR_SETTING/private_key"
:
YOUR_DIR$
Get path of the private key.
IdentityFile “/YOUR_SETTING/private_key"
Set key name to the file
Edir config files (8)
	f	 edit your ssh config file (~/.ssh/config)

YOUR_DIR$ vagrant ssh-config
:
IdentityFile “/YOUR_SETTING/private_key"
:
YOUR_DIR$
Get path of the private key.
Host *
StrictHostKeyChecking no
Host 192.168.33.60
User vagrant
TCPKeepAlive yes
IdentityFile /YOUR_SETTING/private_key
IdentitiesOnly yes
ControlPersist 2h
IP of your Vagrant machine
Add following lines to the ~/.ssh/config
Preparation has...
Finished !!
TEST for Fabric
YOUR_DIR$ fab help
Usage:
<Deploy>
fab -R [ROLE] deploy
:
:
YOUR_DIR$ fab -R httpd-server tags
[192.168.33.60] Executing task 'tags'
[current tag]: None
Done.
Disconnecting from vagrant@192.168.33.60... done.
YOUE_DIR$
test

More Related Content

What's hot

Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))
Michele Orselli
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
Tomas Doran
 
DevOps with Fabric
DevOps with FabricDevOps with Fabric
DevOps with Fabric
Simone Federici
 
Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)
Michele Orselli
 
Docker perl build
Docker perl buildDocker perl build
Docker perl build
Workhorse Computing
 
Ansible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife OrchestrationAnsible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife Orchestration
bcoca
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
Puppet
 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with Ansible
Roman Rodomansky
 
Ansible not only for Dummies
Ansible not only for DummiesAnsible not only for Dummies
Ansible not only for Dummies
Łukasz Proszek
 
Docker command
Docker commandDocker command
Docker command
Eric Ahn
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutes
Larry Cai
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
Rayed Alrashed
 
Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2
Brian Schott
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
Puppet
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet
 
Ansible fest Presentation slides
Ansible fest Presentation slidesAnsible fest Presentation slides
Ansible fest Presentation slides
Aaron Carey
 
Ansible roles done right
Ansible roles done rightAnsible roles done right
Ansible roles done right
Dan Vaida
 
Cialug August 2021
Cialug August 2021Cialug August 2021
Cialug August 2021
Andrew Denner
 
Ansible, best practices
Ansible, best practicesAnsible, best practices
Ansible, best practices
Bas Meijer
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
Stephane Manciot
 

What's hot (20)

Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))Vagrant for real codemotion (moar tips! ;-))
Vagrant for real codemotion (moar tips! ;-))
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
 
DevOps with Fabric
DevOps with FabricDevOps with Fabric
DevOps with Fabric
 
Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)
 
Docker perl build
Docker perl buildDocker perl build
Docker perl build
 
Ansible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife OrchestrationAnsible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife Orchestration
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with Ansible
 
Ansible not only for Dummies
Ansible not only for DummiesAnsible not only for Dummies
Ansible not only for Dummies
 
Docker command
Docker commandDocker command
Docker command
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutes
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
 
Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
 
Ansible fest Presentation slides
Ansible fest Presentation slidesAnsible fest Presentation slides
Ansible fest Presentation slides
 
Ansible roles done right
Ansible roles done rightAnsible roles done right
Ansible roles done right
 
Cialug August 2021
Cialug August 2021Cialug August 2021
Cialug August 2021
 
Ansible, best practices
Ansible, best practicesAnsible, best practices
Ansible, best practices
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
 

Viewers also liked

Big query - Command line tools and Tips - (MOSG)
Big query - Command line tools and Tips - (MOSG)Big query - Command line tools and Tips - (MOSG)
Big query - Command line tools and Tips - (MOSG)
Soshi Nemoto
 
Big query the first step - (MOSG)
Big query the first step - (MOSG)Big query the first step - (MOSG)
Big query the first step - (MOSG)
Soshi Nemoto
 
CI : the first_step: Auto Testing with CircleCI - (MOSG)
CI : the first_step: Auto Testing with CircleCI - (MOSG)CI : the first_step: Auto Testing with CircleCI - (MOSG)
CI : the first_step: Auto Testing with CircleCI - (MOSG)
Soshi Nemoto
 
Posquit0 - Fabric을 이용한 ssh streamlining
Posquit0 - Fabric을 이용한 ssh streamliningPosquit0 - Fabric을 이용한 ssh streamlining
Posquit0 - Fabric을 이용한 ssh streamliningByungjin Park
 
Presentation on fabric
Presentation on fabricPresentation on fabric
Presentation on fabric
Siya Agarwal
 

Viewers also liked (6)

Big query - Command line tools and Tips - (MOSG)
Big query - Command line tools and Tips - (MOSG)Big query - Command line tools and Tips - (MOSG)
Big query - Command line tools and Tips - (MOSG)
 
Big query the first step - (MOSG)
Big query the first step - (MOSG)Big query the first step - (MOSG)
Big query the first step - (MOSG)
 
CI : the first_step: Auto Testing with CircleCI - (MOSG)
CI : the first_step: Auto Testing with CircleCI - (MOSG)CI : the first_step: Auto Testing with CircleCI - (MOSG)
CI : the first_step: Auto Testing with CircleCI - (MOSG)
 
Posquit0 - Fabric을 이용한 ssh streamlining
Posquit0 - Fabric을 이용한 ssh streamliningPosquit0 - Fabric을 이용한 ssh streamlining
Posquit0 - Fabric을 이용한 ssh streamlining
 
Presentation on fabric
Presentation on fabricPresentation on fabric
Presentation on fabric
 
fabric study
fabric studyfabric study
fabric study
 

Similar to Making environment for_infrastructure_as_code

Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with VagrantCreating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
Artefactual Systems - AtoM
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Github
hubx
 
Build Moses on Ubuntu (64-bit) in VirtualBox: recorded by Aaron
Build Moses on Ubuntu (64-bit) in VirtualBox: recorded by AaronBuild Moses on Ubuntu (64-bit) in VirtualBox: recorded by Aaron
Build Moses on Ubuntu (64-bit) in VirtualBox: recorded by AaronLifeng (Aaron) Han
 
Academy PRO: Docker. Lecture 4
Academy PRO: Docker. Lecture 4Academy PRO: Docker. Lecture 4
Academy PRO: Docker. Lecture 4
Binary Studio
 
OpenStack Murano introduction
OpenStack Murano introductionOpenStack Murano introduction
OpenStack Murano introduction
Victor Zhang
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Fabrice Bernhard
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with Vagrant
Brian Hogan
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
Roman Rodomansky
 
Zero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleZero Downtime Deployment with Ansible
Zero Downtime Deployment with Ansible
Stein Inge Morisbak
 
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and BeyondDrupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
DrupalDay
 
Create your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packer
frastel
 
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
Artefactual Systems - AtoM
 
Command line for the beginner - Using the command line in developing for the...
Command line for the beginner -  Using the command line in developing for the...Command line for the beginner -  Using the command line in developing for the...
Command line for the beginner - Using the command line in developing for the...
Jim Birch
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabricandymccurdy
 
Azure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish KalamatiAzure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish Kalamati
Girish Kalamati
 
Getting instantly up and running with Docker and Symfony
Getting instantly up and running with Docker and SymfonyGetting instantly up and running with Docker and Symfony
Getting instantly up and running with Docker and Symfony
André Rømcke
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
bocribbz
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
Johan Janssen
 

Similar to Making environment for_infrastructure_as_code (20)

Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with VagrantCreating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Github
 
Build Moses on Ubuntu (64-bit) in VirtualBox: recorded by Aaron
Build Moses on Ubuntu (64-bit) in VirtualBox: recorded by AaronBuild Moses on Ubuntu (64-bit) in VirtualBox: recorded by Aaron
Build Moses on Ubuntu (64-bit) in VirtualBox: recorded by Aaron
 
Academy PRO: Docker. Lecture 4
Academy PRO: Docker. Lecture 4Academy PRO: Docker. Lecture 4
Academy PRO: Docker. Lecture 4
 
OpenStack Murano introduction
OpenStack Murano introductionOpenStack Murano introduction
OpenStack Murano introduction
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with Vagrant
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Dockerizing a Symfony2 application
Dockerizing a Symfony2 applicationDockerizing a Symfony2 application
Dockerizing a Symfony2 application
 
Zero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleZero Downtime Deployment with Ansible
Zero Downtime Deployment with Ansible
 
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and BeyondDrupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
Drupal Day 2012 - Automating Drupal Development: Make!les, Features and Beyond
 
Create your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packer
 
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
 
Command line for the beginner - Using the command line in developing for the...
Command line for the beginner -  Using the command line in developing for the...Command line for the beginner -  Using the command line in developing for the...
Command line for the beginner - Using the command line in developing for the...
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
 
Azure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish KalamatiAzure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish Kalamati
 
Getting instantly up and running with Docker and Symfony
Getting instantly up and running with Docker and SymfonyGetting instantly up and running with Docker and Symfony
Getting instantly up and running with Docker and Symfony
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 

Making environment for_infrastructure_as_code

  • 1. Making environment for Infrastructure as code (Basic) Soshi Nemoto Mulodo Vietnam Co., Ltd.
  • 2. — Details for each step - Please check following before the workshop. Previous studies DevOps: What's DevOps http://www.slideshare.net/nemo-mulodo/devops1-whats-devops-mosg DevOps: Vagrant http://www.slideshare.net/nemo-mulodo/devops2-vagrant-mosg DevOps: Ansible http://www.slideshare.net/nemo-mulodo/devops3-ansible-mosg DevOps: Ansible(2) http://www.slideshare.net/nemo-mulodo/devops4-ansible2-mosg DevOps: Fabric http://www.slideshare.net/nemo-mulodo/fabric-workshop1-mosg Preparation for workshop (tools) http://www.slideshare.net/nemo-mulodo/instruction-dev-environment
  • 4. Install tools List Vagrant box file of CentOS6.5 some plugins Ansible Fabric
  • 5. Install Vagrant - get DMG and install it to your OSX. https://www.vagrantup.com/ https://www.vagrantup.com/downloads.html HERE
  • 6. Install Vagrant box file YOUR_DIR$ vagrant box list YOUR_DIR$ • Using box : CentOS6.5 https://github.com/2creatives/vagrant-centos/releases/ download/v6.5.3/centos65-x86_64-20140116.box YOUR_DIR$ vagrant box install Centos6.5 https:// github.com/2creatives/vagrant-centos/releases/ download/v6.5.3/centos65-x86_64-20140116.box :
 YOUR_DIR$ YOUR_DIR$ vagrant box list centos6.5 (virtualbox, 0) YOUR_DIR$ • see) Instruction, DevOps(1)-Vagrant
  • 7. Install Vagrant plug-ins YOUR_DIR$ vagrant plugin list vagrant-share (1.1.5, system) YOUR_DIR$ • Using Plug-ins vagrant-fabric YOUR_DIR$ vagrant plugin install vagrant-fabric :
 YOUR_DIR$ YOUR_DIR$ vagrant plugin list vagrant-fabric (0.2.2) vagrant-share (1.1.5, system) YOUR_DIR$ • Note) New version of Vagrant is including snapshot(instead of sahara) and Ansible provider.
  • 8. Install Ansible YOUR_DIR$ brew install ansible : YOUR_DIR$
  • 9. Install Fabric YOUR_DIR$ pip install fabric : YOUR_DIR$ YOUR_DIR$ brew install python --framework : YOUR_DIR$ pip install fabric : YOUR_DIR$ If you got errors related python, please try following.
  • 11. Put sources to ‘your dir’ YOUR_DIR$ git clone -b Fabric git@github.com:nemo-soshi- mulodo/OpenDevStudyGroup.git : YOUR_DIR$ ls ./ .gitignore Vagrantfile hosts setup.yml ../ FABRIC_TEST/ fabfile.py index.html .git/ README.md fabric_files/ playbooks/ YOUR_DIR$ Source of Fabric(1) is on github. git@github.com:nemo-soshi-mulodo/OpenDevStudyGroup.git * Branch : Fabric
  • 12. Edir config files (1) Edit files : See) https://github.com/nemo-soshi-mulodo/ OpenDevStudyGroup/tree/Fabric
  • 13. Edir config files (2) b edit "hosts" file to set IP address of the vagrant machine. ▪ {IP_ADDRESS_OF_YOUR_VAGRANT_MACHINE} a edit "Vagrantfile" and fix IP address of your vagrant machine. ▪ {IP_ADDRESS_OF_YOUR_VAGRANT_MACHINE} config.vm.network "private_network", ip: "{IP_ADDRESS_OF_YOUR_VAGRAN T_MACHINE}” config.vm.network "private_network", ip: "192.168.33.60"ex.) {IP_ADDRESS_OF_YOUR_VAGRANT_MACHINE} 192.168.33.60ex.)
  • 14. Edir config files (3) c put ssh private key for github access to "fabric_files/resources/". YOUR_DIR$ cp -i {YOUR_GITHUB_KEY} /YOUR_DIR/fabric_files/resources/ YOUR_DIR$ ls fabric_files/resources/{YOUR_GITHUB_KEY_NAME} {YOUR_GITHUB_KEY_NAME} YOUR_DIR$
  • 15. Edir config files (4) d edit "fabric_files/resources/ssh_config". e edit "fabric_files/resource.py". f edit your ssh condig file (~/.ssh/config) Following 3 steps should be done after creating target Vagrant machine. Create Vagrant machine and check YOUR_DIR$ vagrant up : YOUR_DIR$ vagrant status Current machine states: default running (virtualbox) : YOUR_DIR$ This process will take minutes.
  • 16. Edir config files (5) d edit "fabric_files/resources/ssh_config". ▪ {PRIVATE_KEY_FILE_FOR_GITHUB} IdentityFile {PRIVATE_KEY_FILE_FOR_GITHUB} IdentityFile ~/.ssh/{KEY_FILE_NAME} The file is copied to “resources/“ by step(3)
  • 17. Edir config files (6) e edit "fabric_files/resource.py". ▪ {PRIVATE_KEY_FILE_FOR_GITHUB} env.ssh['sshkey_name'] = '{PRIVATE_KEY_FILE_FOR_GITHUB}' env.ssh['sshkey_name'] = ‘./resources/{KEY_FILE_NAME}‘ The filename is same as set by step(4). * Only its path is different from step(4) setting.
  • 18. Edir config files (7) f edit your ssh config file (~/.ssh/config) ▪ {IP_ADDRESS_OF_YOUR_VAGRANT_MACHINE} ▪ {PRIVATE_KEY_FILE_FOR_VAGRANT_MACHINE} YOUR_DIR$ vagrant ssh-config : IdentityFile “/YOUR_SETTING/private_key" : YOUR_DIR$ Get path of the private key. IdentityFile “/YOUR_SETTING/private_key" Set key name to the file
  • 19. Edir config files (8) f edit your ssh config file (~/.ssh/config) YOUR_DIR$ vagrant ssh-config : IdentityFile “/YOUR_SETTING/private_key" : YOUR_DIR$ Get path of the private key. Host * StrictHostKeyChecking no Host 192.168.33.60 User vagrant TCPKeepAlive yes IdentityFile /YOUR_SETTING/private_key IdentitiesOnly yes ControlPersist 2h IP of your Vagrant machine Add following lines to the ~/.ssh/config
  • 21. TEST for Fabric YOUR_DIR$ fab help Usage: <Deploy> fab -R [ROLE] deploy : : YOUR_DIR$ fab -R httpd-server tags [192.168.33.60] Executing task 'tags' [current tag]: None Done. Disconnecting from vagrant@192.168.33.60... done. YOUE_DIR$ test