Skip to content

This is a fullstack application comprising of backend and frontend deployed with GitHub actions on AWS Elastic Kubernetes Services

Notifications You must be signed in to change notification settings

walosha/k8s-fullstack-aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Deploy k8s-tutorial app to AWS EKS

- kubectl create serviceaccount --namespace kube-system tiller

- kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

### IAM OIDC (OpenID Connect) Identity provider 
- eksctl utils associate-iam-oidc-provider --cluster=k8s-tutorial --region us-east-1 --approve

## INstall Helm v3
- curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh
- chmod 700 get_helm.sh
- ./get_helm.sh
- sudo yum install openssl
- helm version --short | cut -d + -f 1
- helm init --service-account tiller  --upgrade (deprecated, no longer needed!)


## install on AWS AWS¶ using cloudshell

`
helm upgrade --install ingress-nginx ingress-nginx \
  --repo https://kubernetes.github.io/ingress-nginx \
  --namespace ingress-nginx --create-namespace

`
### Run on cloudshell

- kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/aws/deploy.yaml

### Download the deploy.yaml template

- wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml

### Edit the file and change the VPC CIDR in use for the Kubernetes cluster:

- proxy-real-ip-cidr: XXX.XXX.XXX/XX

### Change the AWS Certificate Manager (ACM) ID as well:

- arn:aws:acm:us-west-2:XXXXXXXX:certificate/XXXXXX-XXXXXXX-XXXXXXX-XXXXXXXX

### Deploy the manifest:

kubectl apply -f deploy.yaml

///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
##########################

# Upgrading worker nodes

##########################

eksctl create nodegroup \
 --config-file cluster-1.18.yaml

kubectl get nodes

eksctl delete nodegroup \
 --config-file cluster-1.18.yaml \
 --only-missing

eksctl delete nodegroup \
 --config-file cluster-1.18.yaml \
 --only-missing \
 --approve

kubectl get nodes

#######################

# What else is there?

#######################

eksctl utils describe-addon-versions \
 --cluster devops-catalog \
 --region us-east-2

##########################

# Destroying the cluster

##########################

eksctl delete cluster \
 --config-file cluster-1.18.yaml \
 --wait

About

This is a fullstack application comprising of backend and frontend deployed with GitHub actions on AWS Elastic Kubernetes Services

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published