MLOPS Batch Nov 2023

Day1

Day 2

Step 1 - Create a VMs
		- Laptop
		- AWS
		- Azure
Step 2 - Install Docker
https://www.devopsschool.com/blog/docker-installation-and-configurations/#Docker_install_in_Ubuntu

Step 3 - D

 651  docker ps
  652  docker images
  653  docker pull httpd
  654  clear
  655  ls
  656  docker images
  657  docker create httpd
  658  docker ps -a
  659  docker create httpd
  660  docker ps -a
  661  docker start 727efa0171e8
  662  docker ps -a
  663  docker start 2aa155db6eea
  664  docker ps -a
  665  docker stop 727efa0171e8
  666  docker ps -a
  667  docker start 727efa0171e8
  668  docker ps -a
  669  docker restart 2aa155db6eea
  670  docker ps -a
  671  docker pause 727efa0171e8
  672  docker ps -a
  673  docker unpause 727efa0171e8
  674  docker ps -a
  675  docker kill 727efa0171e8
  676  docker ps -a
  677  dockerrm  727efa0171e8
  678  docker rm  727efa0171e8
  679  docker ps -a
  680  clear
  681  ls
  682  docker ps -a
  683  docker inspect 2aa155db6eea
  684  curl http://172.17.0.3
  685  clear
  686  ls
  687  docker ps -a
  688  docker exec -it 2aa155db6eea /bin/bash

29 Nov 2023 – Ansible 1st Session

What is Ansible?
=====================
	Config mgmt tool
	---------------------
	Server(S) config mgt

	python
	release
		ansible - cmd - free
		tower - GUI paid
		awx - UI - free
	From Redhat

	tool
		save time -- Deployng something in 1000s of server parr
		save cost - 
		imp quality
	Agent lesss

Whats there in server == resources
-----------------------------
file
dir
package
services
user 
groups
cmd
apt
yum
ps
==========================================================
Why Ansible?
	If you want to Configure 100s of server parr - u can use Ansible

Other tools?
	Chef puppet salt cfengine

How it works?

HUMAN ---> Ansible Control Server(ACS) ----> Ansible remote server(ARS) (S)
	

ACS			ARS
=====================================
Linux			ANY 
Ansible			NA
	--------------> Windows (Winrm)
	---------------> Linux (SSH)
Python			Linux - python
			windows - dotnet - ps

Component of Ansible in (ACS)
==================================
Ansible
	Executables	
	Modules - Python code - RUN IN ARS - a code which u want to do in ARS.
		https://docs.ansible.com/ansible/2.9/modules/list_of_all_modules.html
		https://docs.ansible.com/ansible/2.8/modules/modules_by_category.html
	plugins	- Python code - RUN IN ACS -- feature of ansible
	Configfile -- https://github.com/ansible/ansible/blob/stable-2.9/examples/ansible.cfg

Playbook
	Yaml file whcih contains Module which to be run In ARS

Inventory
	a file which has list of IP addre of ARS
						

30 Nov 2023 – Ansible Adhoc Commands

What is Project?
----------------------
Setup a webserver.

Psucode
-----------------
Step 1 - Install webserver	apt
Step 2 - Copy index.html to /var/www/html	copy
Step 3 - Start a  service	service
============================================

ansible localhost -m apt -a"name=apache2 state=latest"
ansible localhost -m copy -a"src=index.html dest=/var/www/html/index.html"
ansible localhost -m service -a"name=apache2 state=started"

inventory
	LIST OF IP ADDRESS oF ARS
	CMD | file | SCRIPT

ansible all -i 172.22.240.232, -m apt -a"name=apache2 state=latest" -u rajesh -k
ansible all -i 172.22.240.232, -m copy -a"src=index.html dest=/var/www/html/index.html" -u ubuntu -k
ansible all -i 172.22.240.232, -m service -a"name=apache2 state=started" -u ubuntu -k

ansible all -i 132.148.28.255,5.6.6.7, -m apt -a"name=apache2 state=latest" -u root -k
ansible all -i 132.148.28.255,,5.6.6.7, -m copy -a"src=index.html dest=/var/www/html/index.html" -u root -k
ansible all -i 132.148.28.255,,5.6.6.7, -m service -a"name=apache2 state=started" -u root -k

ansible all -i 172.22.240.232, -m apt -a"name=apache2 state=latest" -u rajesh -k -b -K
ansible all -i 172.22.240.232, -m copy -a"src=index.html dest=/var/www/html/index.html" -u rajesh -k -b -K
ansible all -i 172.22.240.232, -m service -a"name=apache2 state=started" -u rajesh -k -b -K


inventory

172.22.240.232
172.22.240.233
172.22.240.234


ansible all -i inventory -m apt -a"name=apache2 state=latest" -u rajesh -k -b -K
ansible all -i inventory -m copy -a"src=index.html dest=/var/www/html/index.html" -u rajesh -k -b -K
ansible all -i inventory -m service -a"name=apache2 state=started" -u rajesh -k -b -K


inventory

[web]
172.22.240.232
172.22.240.233
172.22.240.234

[db]
172.22.240.235
172.22.240.236


ansible web -i inventory -m apt -a"name=apache2 state=latest" -u rajesh -k -b -K
ansible web -i inventory -m copy -a"src=index.html dest=/var/www/html/index.html" -u rajesh -k -b -K
ansible web -i inventory -m service -a"name=apache2 state=started" -u rajesh -k -b -K

5 Dec 2023

Ansible Playbook?
===========================

What is Playbook?
----------------------
	Yaml file
	Contains
		Hosts: localhost | groupname | all
	
		Task(S):
			- Task1 == module and its param
			- task2 == module and its param
			- Task3 == module and its param



Why we need playbook?
================================
	To have all the modules in one file
	Paramterized - 
	Easy to share


ansible web -i inventory -m apt -a"name=apache2 state=latest" -u rajesh -k -b -K
ansible web -i inventory -m copy -a"src=index.html dest=/var/www/html/index.html" -u rajesh -k -b -K
ansible web -i inventory -m service -a"name=apache2 state=started" -u rajesh -k -b -K


---
- name: Update web servers
  hosts: web

  tasks:
    - name: Install apache httpd  (state=present is optional)
      ansible.builtin.apt:
        name: apache2
        state: present
    - name: Copy file with owner and permissions
      ansible.builtin.copy:
        src: index.html
        dest: /var/www/html/index.html
    - name: Start service httpd, if not started
      ansible.builtin.service:
        name: apache2
        state: started

ansible-playbook -i inventory web.yaml -u rajesh -k -b -K
===================================================

variables in Ansible Playbook?
=========================================
https://www.devopsschool.com/blog/example-code-of-ansible-variable-with-playbook/


---
- name: Update web servers
  hosts: web
  vars:
    myname: "Rajeshkumar"
    age: "18"
    packagename: "apache2"
    servicename: "apache2"
  vars_files:
    - "vars.yaml"
  vars_prompt:
    - name: "version"
      prompt: "Which version Do you want to install?"
      private: no

  tasks:
  - name: Install Apache in ubuntu
    ansible.builtin.apt:
      name: "{{ packagename }}"
      state: latest
  - name: Copy index.html
    ansible.builtin.copy:
      src: index.html
      dest: /var/www/html/index.html
  - name: Starting a Apache Server
    ansible.builtin.service:
      name: "{{ servicename }}"
      state: started
  - name: Print return information from the previous task
    ansible.builtin.debug:
      var: myname
  - name: include default step variables
    include_vars: tasks_var.yaml
  - name: Print return information from the previous task
    ansible.builtin.debug:
      msg: "My Name is {{ myname }} and My age is {{ age }}"
  - name: Print return information from the previous task
    ansible.builtin.debug:
      var: version
  - name: Ansible register variable basic example
    shell: "find *.txt"
    args:
      chdir: "/root/ansible"
    register: find_output
  - debug:
      var: find_output
  - debug:
      var: find_output.stdout_lines
  - debug:
      var: find_output.stdout_lines[0]



ansible-playbook -i inventory web.yaml -u rajesh -k -b -K

==============================
How to set condition in Ansible Playbook?
How to set condition module executations in Ansible Playbook with Example?
How to do looping in Ansible Playbook?
How to loop and iteration executations in Ansible Playbook with Example?
Fact Vars ============================================= ============================================== Template Handlers Roles

6 Dec 2023

---
- name: Update web servers
  hosts: web
  vars:
    myname: "Rajeshkumar"
    age: "18"
    packagename: "apache2"
    servicename: "apache2"
    port: "80"

  tasks:
  - name: Install Apache in ubuntu
    ansible.builtin.apt:
      name: "{{ packagename }}"
      state: latest
  - name: Copy index.html
    ansible.builtin.copy:
      src: index.html
      dest: /var/www/html/index.html
  - name: Print return information from the previous task
    ansible.builtin.debug:
      msg: "My Name is {{ myname }} and My age is {{ age }}"
  - name: Template index.html
    template:
      src: index.html.j2
      dest: /var/www/html/index-template.html
  - name: Template index.html
    template:
      src: ports.conf.j2
      dest: /etc/apache2/ports.conf
    notify:
      - ReStarting a Apache Server
  - name: Starting a Apache Server
    ansible.builtin.service:
      name: "{{ servicename }}"
      state: started

  handlers:
  - name: ReStarting a Apache Server
    ansible.builtin.service:
      name: apache2
      state: restarted
  
ansible-playbook -i inventory temp.yaml -u rajesh -k -b -K

Template
https://www.devopsschool.com/blog/ansible-template-and-handlers-explained-with-example/

Handlers

Roles
=========================================
Fixed Dir strcuture
	How to manage

		vars
		files used in play
		template
		handlers
	AND
		Share with otthers


├── web
│   ├── README.md
│   ├── defaults					VARS				DONE
│   │   └── main.yml
│   ├── files					files used in play
│   ├── handlers					handlers tasks		DONE
│   │   └── main.yml
│   ├── meta						info about roles
│   │   └── main.yml
│   ├── tasks						tasks
│   │   └── main.yml
│   ├── templates					.j2 files
│   ├── tests
│   │   ├── inventory
│   │   └── test.yml
│   └── vars						VARS			DONE
│       └── main.yml
└── web.yaml




---
- name: Update web servers
  hosts: web

  roles:
    - web

ansible-playbook -i inventory site.yaml -u rajesh -k -b -K
==============================================


Terraform Session

What is Terraform?
======================
	IAAC
	Codeing for infra automation
	Code for Tools in Infra
	=========================

	Whats in Infra?
	---------------------
	TOOLS - PLATFORM - Supported by API

	From Hashicorp
	Release
		cmd - free
		ent - paid - GUI
		cloud - paid - GUI

	in GO

	https://registry.terraform.io/browse/providers
==================================================
10 I + 10 EBS + 10 SG + 2 LB + 1 RB  +1 VP + S3 + efs + ==== 
					===================
					CloudFormation
					terraform

====================================
How to install it?
	Download
	save
	set in path
Terraform Tutorials: Installation & Configurations
How terraform works? ----------------------- RULES ------------------------- all the code must be stored .tf file one dir --- 1. tf multiple tfs file =================== ONE PROJECT How to get started? =========================================== How to write a code? ============================ Collection of Resources and their attributes ---------------------------- resource "aws_instance" "web" { ami = instance_type = "t3.micro" tags = { Name = "HelloWorld" } } resource "s3" "web" { } } resources1 att1 att2 resources2 att1 att2 resources3 att1 att2 resources4 att1 att2 resources5 att1 att2 C:\Users\Rajesh Kumar\Desktop\prj>doskey /h terraform plan terraform apply terraform showq cls terraform show terraform destroy doskey /h
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x