namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: playgroundinyaml
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-world
labels:
app: hello-world
namespace: playground1
spec:
replicas: 4
selector:
matchLabels:
app: hello-world
template:
metadata:
labels:
app: hello-world
spec:
containers:
- name: hello-world
image: gcr.io/google-samples/hello-app:1.0
ports:
- containerPort: 8080
Commands
ssh aen@c1-master1
cd ~/content/course/m3/demos
#Get a list of all the namespaces in our cluster
kubectl get namespaces
#get a list of all the API resources and if they can be in a namespace
kubectl api-resources --namespaced=true | head
kubectl api-resources --namespaced=false | head
#Namespaces have state, Active and Terminating (when it's deleting)
kubectl describe namespaces
#Describe the details of an indivdual namespace
kubectl describe namespaces kube-system
#Get all the pods in our cluster across all namespaces. Right now, only system pods, no user workload
kubectl get pods --all-namespaces
#Get all the resource across all of our namespaces
kubectl get all --all-namespaces
#Get a list of the pods in the kube-system namespace
kubectl get pods --namespace kube-system
#Imperatively create a namespace
kubectl create namespace playground1
#Imperatively create a namespace...but there's some character restrictions. Lower case and only dashes.
kubectl create namespace Playground1
#Declaratively create a namespace
more namespace.yaml
kubectl apply -f namespace.yaml
#Get a list of all the current namespaces
kubectl get namespaces
#Start a deployment into our playground1 namespace
more deployment.yaml
kubectl apply -f deployment.yaml
#Creating a resource imperitively
kubectl run hello-world-pod \
--image=gcr.io/google-samples/hello-app:1.0 \
--generator=run-pod/v1 \
--namespace playground1
#Where are the pods?
kubectl get pods
#List all the pods on our namespace
kubectl get pods --namespace playground1
kubectl get pods -n playground1
#Get a list of all of the resources in our namespace...Deployment, ReplicaSet and Pods
kubectl get all --namespace=playground1
#Try to delete all the pods in our namespace...this will delete the single pod.
#But the pods under the Deployment controller will be recreated.
kubectl delete pods --all --namespace playground1
#Get a list of all of the *new* pods in our namespace
kubectl get pods -n playground1
#Delete all of the resources in our namespace and the namespace and delete our other created namespace.
#This deletes the Deployment controller, the Pods...or really ALL resources in the namespaces
kubectl delete namespaces playground1
kubectl delete namespaces playgroundinyaml
#List all resources in all namespaces, now our Deployment is gone.
kubectl get all
kubectl get all --all-namespaces
Latest posts by Rajesh Kumar (see all)
- Top Sites for Corporate Training, Online Tutoring and Digital Education - March 2, 2021
- DevOps Interview Questions and Answer – Part 5 - March 2, 2021
- Front End Developer Interview Questions - March 2, 2021