Slide 1
Most trusted JOB oriented professional program
DevOps Certified Professional (DCP)

Take your first step into the world of DevOps with this course, which will help you to learn about the methodologies and tools used to develop, deploy, and operate high-quality software.

Slide 2
DevOps to DevSecOps – Learn the evolution
DevSecOps Certified Professional (DSOCP)

Learn to automate security into a fast-paced DevOps environment using various open-source tools and scripts.

Slide 2
Get certified in the new tech skill to rule the industry
Site Reliability Engineering (SRE) Certified Professional

A method of measuring and achieving reliability through engineering and operations work – developed by Google to manage services.

Slide 2
Master the art of DevOps
Master in DevOps Engineering (MDE)

Get enrolled for the most advanced and only course in the WORLD which can make you an expert and proficient Architect in DevOps, DevSecOps and Site Reliability Engineering (SRE) principles together.

Slide 2
Gain expertise and certified yourself
Azure DevOps Solutions Expert

Learn about the DevOps services available on Azure and how you can use them to make your workflow more efficient.

Slide 3
Learn and get certified
AWS Certified DevOps Professional

Learn about the DevOps services offered by AWS and how you can use them to make your workflow more efficient.

previous arrow
next arrow

Working with multiple virtual Kubernetes clusters aka Namespaces

Spread the Knowledge

Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces.

Namespaces ca be used in multiple environment with many users spread across multiple teams, or projects. Names of resources need to be unique within a namespace, but not across namespaces.

Namespaces are a way to divide cluster resources between multiple users (via resource quota).

Viewing namespaces

$ kubectl get namespace

Setting the namespace preference in kubectl config file

$ kubectl config set-context --current --namespace=<insert-namespace-name-here>

Validate it

$ kubectl config view | grep namespace:

Creating namespaces using Command line

$ kubectl create ns dev

Creating namespaces using Yaml

apiVersion: v1
kind: Namespace
metadata:
  name: "development"
  labels:
    name: "development"

# kubectl apply -f test.yaml

Deleting namespaces

$ kubectl delete ns dev

Filtering and Performing Actions by Namespace

$ kubectl create deployment –image nginx demo-nginx –namespace=demo-namespace

Interesting facts of Namespaces and DNS

When you create a Service, it creates a corresponding DNS entry. This entry is of the form ..svc.cluster.local, which means that if a container just uses , it will resolve to the service which is local to a namespace.

This is useful for using the same configuration across multiple namespaces such as Development, Staging and Production. If you want to reach across namespaces, you need to use the fully qualified domain name (FQDN).

Not All Objects are in a Namespace

In a namespace
$ kubectl api-resources –namespaced=true
Not in a namespace
$ kubectl api-resources –namespaced=false

Creating namespaces and ResourceQuota using Yaml

apiVersion: v1
kind: Namespace
metadata:
  name: myspace
---

apiVersion: v1
kind: ResourceQuota
metadata:
  name: compute-quota
  namespace: myspace
spec:
  hard:
    requests.cpu: "1"
    requests.memory: 1Gi
    limits.cpu: "2"
    limits.memory: 2Gi
---

apiVersion: v1
kind: ResourceQuota
metadata:
  name: object-quota
  namespace: myspace
spec:
  hard:
    configmaps: "10"
    persistentvolumeclaims: "4"
    replicationcontrollers: "20"
    secrets: "10"
    services: "10"
    services.loadbalancers: "2"
Rajesh Kumar