DevOps Project — CI/CD -4

To initiate , the first step involves setting up a Bootstrap image.

aws --version
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.1/2023-04-19/bin/linux/amd64/kubectl
chmod +x kubectl
mv kubectl /usr/local/bin
echo $PATH
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
cd /tmp
ll
mv eksctl /usr/local/bin
eksctl version
eksctl create cluster --name cluster1  \
--region < Bootstrap server Region > \
--node-type t2.small

*Delete the cluster when the activity is completed*

cat /root/.kube/config
vim regapp-deployment.yml

apiVersion: apps/v1
kind: Deployment
metadata:
name: jabirdocker-regapp
labels:
app: regapp

spec:
replicas: 3
selector:
matchLabels:
app: regapp

template:
metadata:
labels:
app: regapp
spec:
containers:
- name: regapp
image: jabirdocker/regapp
imagePullPolicy: Always
ports:
- containerPort: 8080
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1

vim regapp-service.yml

apiVersion: v1
kind: Service
metadata:
name: jabirdocker-service
labels:
app: regapp
spec:
selector:
app: regapp

ports:
- port: 8080
targetPort: 8080

type: LoadBalancer
useradd ansadmin
passwd ansadmin
visudo
( ansadmin ALL=(ALL) NOPASSWD: ALL )
vim /etc/ssh/sshd_config
( PasswordAuthentication yes )
systemctl restart sshd
passwd root
sudo su - ansadmin
cd /opt/docker
ll -a
mv regapp.yml create_image_regapp.yml
mv deploy_regapp.yml docker_deployment.yml
vim hosts
[ansible]
< ansible private ip >

[kubernetes]
< kubernetes private ip >
ssh-copy-id root@< kubernetes private ip >
ansible -i hosts all - a uptime
cd /opt/docker
ll
vim kube_deploy.yml
---
- hosts: kubernetes
user: root

tasks:
- name: deploy regapp on kubernetes
command: kubectl apply -f regapp-deployment.yml
- name: create service for regapp
command: kubectl apply -f regapp-service.yml
- name: update deployment with new pods if image updated in docker hub
command: kubectl rollout restart deployment.apps/jabirdocker-regapp
ansible-playbook -i /opt/docker/hosts /opt/docker/kube_deploy.yml
ansible-playbook /opt/docker/create_image_regapp.yml

Now disable Poll SCM from the job copyartifactsontoansible

cd hello-world/webapp/src/main/webapp/
vim index.jsp
git status
git add .
git status
git commit -m "change name"
git push origin master
kubectl get all

Comments

Popular posts from this blog

Deploying Zomato Clone App with DevSecOps CI/CD

DevOps Project — CI/CD -3

AUTOMATION MULTIER PROJECT USING VAGRANT