Showing posts with label devops. Show all posts
Showing posts with label devops. Show all posts

Monday, March 14, 2022

Minikube

What is MINIKUBE?

Minikube is single node kubernestes cluster.

Minikube installation on Ubuntu Server..

1)Create EC2 instance with minimum 2CPU and 2GB RAM.

2)Install docker using below command

apt-get install docker.io

3)Download minikube and kubectl

curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

 

4)Execute below commands:

#mv minikube-linux-amd64  /usr/local/bin/minikube

#chmod 755 /usr/local/bin/minikube

#mv kubectl /usr/local/bin/kubectl

#chmod 755 /usr/local/bin/kubectl

#root@ip-172-31-31-126:~#  minikube version

minikube version: v1.25.1

commit: 3e64b11ed75e56e4898ea85f96b2e4af0301f43d

 

root@ip-172-31-31-126:~# kubectl version

Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:25:17Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"linux/amd64"}

Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.1", GitCommit:"86ec240af8cbd1b60bcc4c03c20da9b98005b92e", GitTreeState:"clean", BuildDate:"2021-12-16T11:34:54Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"}

root@ip-172-31-31-126:~#

 

5)Start Minikube using below command

#minikube start --driver=none

 

6)Check Minikube Status:

 

root@ip-172-31-31-126:~# minikube status

minikube

type: Control Plane

host: Running

kubelet: Running

apiserver: Running

kubeconfig: Configured

 


7)Execute below command to check cluster info.

root@ip-172-31-31-126:~# kubectl cluster-info

Kubernetes control plane is running at https://172.31.31.126:8443

CoreDNS is running at https://172.31.31.126:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy



root@ip-172-31-31-126:~# kubectl get nodes

NAME               STATUS   ROLES                  AGE     VERSION

ip-172-31-31-126   Ready    control-plane,master   5m48s   v1.23.1

 


Wednesday, March 9, 2022

DevOps Tools Info

Popular DevOps Tools:


Operating Systems/Deployment Platform : Linux, Unix, Windows

 Source Code Management Tools: Git, SVN, TFS

Continuous Integration:Jenkins, Teamcity, Bamboo, GitLab  CI, Hudson

Build Tools: Ant,Maven, Gradle

Code Review Tools: Sonarqube, Checkstyle

Artifactory: Jfrog, Nexus

Configuration Management Tools:  Ansible, Chef, Puppet, Udeploy

Monitoring Tools: Nagios, Appdynamics, ELK

Cloud Service Provider: AWS, GCP, Azure, Digital Ocean

Application Server: Tomcat, Jboss, Weblogic, Webshpere

Load Balancer: Nginx, HA proxy

Test Automation Tools: Selenium, Junit

Container Platform: Docker

Container Orchestration: Kubernestes, Docker Swarm

Scripting: Python, Bash Shell



What is DevOps?

 


DevOps is an emerging model of product delivery and full lifecycle management that emphasises a holistic, end-to-end process. We view it as the “engine room of change” that allows new ideas to be delivered quickly. 

DevOps not only seeks to remove the silos between Development and Operations, but all of the key stakeholders in the application lifecycle.

It involves small teams from software and operational disciplines working collaboratively with each other and the business community to deliver deployable applications that will run and scale reliably, maximising payback. DevOps also involves introducing software automation tools to improve the speed, quality and reliability of the software deployment process.

Traditional models of application development and service delivery, which have multiple handovers between silos, face challenges when trying to achieve higher rates of change. Some of these existing models of delivery such as PRINCE2 and ITIL are over 20 years old, and pre-date many of the recent innovations in IT such as the Cloud, Infrastructure as Code, software defined networking, improved version control and collaboration tools.

Benefits Of DevOps:
Early detection of failure
Better Resource Utilization
Faster time to Market
Transparency in execution
Single click dployment
Promoted Builds
Governance with approval bassed releases.
Automated approach.
Quality releases
Enhanced recovery time.
Productivity gains
Decision support

7 Cs of DevOps
1)Communication
2)Collaboration
3)Controlled process
4)Continuous Integration
5)Continuous Deployment & Delivery
6)Continuous Testing
7)Continuous Monitoring


What is CI?
Continuous integration is a development practice that requires developer to integrate code into a shared repository several times a day.
Each check in is the verified by an automated build, allowing teams to detect problem early.
By Integrating regularly, you can detect errors quickly, and locate them more easily.

What is Continuous Delivery ?
Continuous delivery is a DevOps Software development practice where code changes are automatically  built,tested, and prepared for a release to production with manual approval process.


What is Continuous Deployment?
If the approval process becomes automated then after staging, the code change is done directly to production system this is called continuous deployment



Tools and Technology:





Sample Game App Deployment on EKS cluster

 https://padmakshi.medium.com/setting-up-an-eks-cluster-and-deploying-a-game-application-a-step-by-step-guide-08790e0be117