Posts

Showing posts from 2019

Configure Nginx Ingress Kubernetes with TLS

Image
Secure your kubernetes cluster with nginx ingress with TLS and LetsEncrypt.Note : Make sure you have intalled helm in your pc. Role : Create role for accessing helm to the cluster.$ kubectl create clusterrolebinding tiller-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default $ helm init Installation : Install Nginx ingress using helm.$ helm install stable/nginx-ingress --namespace kube-system Deploy : Deploy Sample Example App. We will deploy nginx webserver in our cluster and access it with nginx ingress, You can deploy whatever app you want.$ helm install stable/nginx --name nginx-app Expose : Expose it to the Cluster IP. Expose the deployed nginx app to the cluster ip so that ingress can communicate with it.$ kubectl expose deployment nginx-app --type=ClusterIP Ingress : Create Ingress object to access.
Now we will create Nginx ingress to access our app. apiVersion: extensions/v1beta1 kind: Ingress metadata: name: myapp annotations: kubernetes.io/in…

How to Install Go 1.13 on Ubuntu - Linux Guru

Image
How to Install Go 1.13 on Ubuntu.


Go is an opensource programing language developed by google. It's very popular and many companies using their application in go. It has robust set of library and tools. Many applications such as Docker and Kubernetes are written in Go. In this tutorial i will help you to install Go version 1.13.4 in Ubuntu 18.04. Remove the existing golang You have to remove existing golang from your machine. sudo apt-get purge golang* Download Go. Download the latest version of the Go from it's official website. Click here to more. https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz Extract it in /usr/local using the command below, You have to replace the filename with the actual filename based on the version you have downloaded. tar -C /usr/local -xzf go1.13.4.linux-amd64.tar.gz Create .go directory in home.mkdir /go Set up the environment variables.GOROOT=/usr/local/go GOPATH=~/go PATH=$PATH:$GOROOT/bin:$GOPATH/bin Update the go command sudo update-alte…

Monitoring Kubernetes with Prometheus - Linux Guru

Image
How to deploy Prometheus on Kubernetes.
Prometheus is an open-source systems monitoring and alerting toolkit, You can monitor various resources using Prometheus. Prometheus has multiple modes for visualisation data: a built-in expression browse. In this article we will deploy prometheus server in Kubernetes and Monitor resorces of kubernetes cluster. after deploying prometheus you can confgure prometheus server url in grafana to visulize metric graph. Here are the steps to deploy prometheus on kubernetes. Create namespace We will create namespace called monitoring and deploy prometheus into that namespace. create a file name with namespace.yaml. #Create namespace apiVersion: v1 kind: Namespace metadata: name: monitoring kubectl create -f namespace.yaml Create cluster role and binding. Now we will create cluster role for correct permission to the cluster in order to deploy and access resources. create a file name with clusterrole.yaml. apiVersion: rbac.authorization.k8s.io/v1beta1 …

1 node(s) had taints that the pod didn't tolerate Solved

Image
1 node(s) had taints that the pod didn't tolerate. By default pods doesn't schedule on master node of kubernetes. Pods always run on worker node but sometime you want to run pods on single node master cluster. then you can use this to run pods on master node kubernetes aws. But it' not best prectice for kubernetes.


Error :1 node(s) had taints that the pod didn't tolerate

have you faced your pod in pending state while deploying new pod and not running ? the problem is your pod not able to schedule on worker node. there are many resons. Nodes not ready, pod not ready or unsuffciant resources it's because taint.

Solution : you can remove taint using below command. it will deploy your pod direct on master node instead of your worker. kubectl taint nodes --all node-role.kubernetes.io/master-

Install aws-iam-authenticator linux - Linux Guru

Image
How to install IAM authenticator in Linux. Amazon IAM authenticator provides authentication to the kubernetes cluster. after authenticate with IAM authenticator you can deploy your app on EKS. Download IAM authenticator binary from amazon s3.curl -o aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator Now, You can find the binary of IAM authenticator. Give the executable permission to the IAM authenticator Binary.chmod +x ./aws-iam-authenticator Copy the binary to $HOME/bin/aws-iam-authenticator.mkdir -p $HOME/bin && cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator && export PATH=$HOME/bin:$PATH Add $HOME/bin to your PATH environment variable.echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc Now your can use IAM authenticator.aws-iam-authenticator help

How to install python 3.7 in ubuntu Linux guru

Image
How to install python 3.7 in ubuntu. Python is a most populer programing language in the world, Also python is a fastes growing progaming language. Python is very versatile language so you can easily learn and understand python

The latest version of python is 3.7. In ubuntu 18.04 python version 2 and 3.6 are pre installed. apt update apt install software-properties-common add-apt-repository ppa:deadsnakes/ppa Enter to continue. sudo apt install python3.7 Check the python version. python3.7 --version how to set python3 as default in ubuntu. A simple way to set latest python version in ubutu is to set it in .bashrc file as if alias, Create an alias of latest python version and put it in .bashrc. open .bashrc and set create an alias for python. alias python=python3.7 save the file and restart the terminal. You you can check with python command, it will show latest version of python. ❯ python --version Python 3.7.4

Basic Git Commands Linux Guru

Image
Git Commands

Here are some git command list which are comes in daily use. Creating and Cloning: commands use git init create and initialize local git repository git clone REPO_URL Clone remore repo git remote add origin REPO_URL add remote repository. git config-global user.name my-name set author name git config-global user.email my-email set author email Basic git commands :  commands use git status check the current state of repository git add . Add all the files to staging area repository git add vishal.txt add perticular file to the staging area repository git commit -m "commit message" commit files