Skip to content

Repository files navigation

Create Cluster using Kind

kind create cluster --name $(name)

or using minikube

minikube start

Create ghcr secret inorder to pull form private registry inside k8s cluster

kubectl create secret docker-registry github-registry \
	--docker-server=ghcr.io \
	--docker-username=${username} \
	--docker-password=${token} \
	--docker-email=${email}

Create secrets and configmap

kubectl apply -f k8s/secret.yml
kubectl apply -f k8s/configmap.yml

Setup Database

kubectl apply -f k8s/pg-pv.yml
kubectl apply -f k8s/pg-pvc.yml
kubectl apply -f k8s/pg.yml

Build and Setup deployment

docker build -t ghcr.io/${username}/app:latest
kubectl apply -f k8s/app.yml

Setup Nginx Ingress Controller using Kind

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm template ingress-nginx ingress-nginx \
--repo https://kubernetes.github.io/ingress-nginx \
--version 4.12.0 \
--namespace ingress-nginx > ./k8s/ingress/controller/nginx/manifests/nginx-ingress.1.12.0.yml
kubectl create namespace ingress-nginx
kubectl apply -f ./k8s/ingress/controller/nginx/manifests/nginx-ingress.1.12.0.yaml
Setup port forwarding for Nginx service
sudo kubectl -n ingress-nginx port-forward svc/ingress-nginx-controller 443

or using minikube

minikube addons enable ingress
Setup Ingress for app
kubectl apply -f ./k8s/ingress/controller/nginx/features/app.yml

using helm

helm create app
helm install ${releaseName} ${path} --values=${path}
helm upgrade ${releaseName} ${path} --values=${path}
helm package app/
helm push app-version oci://ghcr.io/$(username)

Jenkins

setup Jenkinsfile and setup jenkins container on server

Ansible

ssh-keygen -t rsa -b 4096
ssh-copy-id user@serverIP
ansible all -i hosts -m ping
ansible-vault create vault.yml
ansible-vault edit vault.yml
ansible-plyabook -i Ansible/hosts Ansible/playbook.yaml

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages