Term
|
Definition
- Auth User - Val req - Retrieve data - Only service that updates ETCD - Talks to Scheduler - Talks to Kubelet |
|
|
Term
|
Definition
| Single process that manages all controllers |
|
|
Term
|
Definition
- Decides which pods go on which nodes - Filters based on # cpu's, mem, etc. - Ranks remaining nodes (0-10) where nodes with larger # remaining resources after pod install gets higher score |
|
|
Term
|
Definition
- control actions on nodes - loads pods - talks to kube-apiserver - talks to docker |
|
|
Term
|
Definition
- process that runs on each node - allows nodes to access each other without IP's in the POD NW - uses ip tables |
|
|
Term
|
Definition
- encapsulates docker containers - single instance of an app - different containers can exist in same pod but not same container in same pod - share same localhost and memory in a single pod and have same fate (are created or die together) |
|
|
Term
|
Definition
apiVersion: v1 kind: Pod metadata: name: "pod name" labels: app: "label" spec: containers: - name: "container name" image: "image name" |
|
|
Term
| To see what nodes a pod is running on |
|
Definition
|
|
Term
|
Definition
|
|
Term
|
Definition
| kubectl delete replicaset rs-name |
|
|
Term
|
Definition
|
|
Term
|
Definition
- create = creates whole new object - apply = updates existing object |
|
|
Term
| Imperative vs Declarative |
|
Definition
- imp - kubectl app - yaml files - Dec - all kubectl cmds except apply |
|
|
Term
| kubectl replace -f file.yaml |
|
Definition
- to apply changes in yaml to running config (saved locally) - --force will delete and recreate |
|
|
Term
|
Definition
- -f file.yaml - -f /path_to_files/* - no need to worry if objs already exist |
|
|
Term
| To see if a scheduler is running |
|
Definition
| kubectl -n kube-system get pods |
|
|
Term
|
Definition
- kubectl get svc - kubectl get ep - endpoints |
|
|
Term
Display endpoint information regarding the services and master in the cluster
How to display cluster information? |
|
Definition
What is the kubectl cluster-info |
|
|
Term
Show the Kubernetes version functioning on the client and server
What command shows the version of KubeCTL you are using? |
|
Definition
|
|
Term
Get the configuration of the cluster
What command will get you the configuration of the cluster? |
|
Definition
|
|
Term
Make a list of the available API resources
What command will give you a list of available API resources? |
|
Definition
|
|
Term
| what command will Make a list of the available API versions |
|
Definition
|
|
Term
| What command will get you a list of everything, for the cluster? |
|
Definition
| kubectl get all –all-namespaces |
|
|
Term
Shortcode = ns
What command would you use to creat a namespce <name> |
|
Definition
| kubectl create namespace <namespace_name> |
|
|
Term
| How would you list List one or more namespaces |
|
Definition
| kubectl get namespace <namespace_name> |
|
|
Term
| Show the detailed condition of one or more namespace |
|
Definition
| kubectl describe namespace <namespace_name> |
|
|
Term
|
Definition
| kubectl delete namespace <namespace_name> |
|
|
Term
| Edit and modify the namespace’s definition |
|
Definition
| kubectl edit namespace <namespace_name> |
|
|
Term
| Display Resource (CPU/Memory/Storage) usage for a namespace |
|
Definition
| kubectl top namespace <namespace_name> |
|
|
Term
Node operations A Node is a worker machine in Kubernetes and can either be a virtual or a physical machine, which depends on the cluster. Every Node is handled by the control plane. A Node can contain several pods, and the Kubernetes control plane handles scheduling the pods automatically across the Nodes in the cluster. Following commands can be utilised for Node Operations.
How do you Revise the taints on one or more nodes? |
|
Definition
| kubectl taint node <node_name> |
|
|
Term
|
Definition
|
|
Term
| Delete a node or multiple nodes |
|
Definition
| kubectl delete node <node_name> |
|
|
Term
| Display Resource usage (CPU/Memory/Storage) for nodes |
|
Definition
|
|
Term
| How to display Resource allocation per node |
|
Definition
| kubectl describe nodes | grep Allocated -A 5 |
|
|
Term
|
Definition
| kubectl get pods -o wide | grep <node_name> |
|
|
Term
|
Definition
| kubectl annotate node <node_name> |
|
|
Term
| kubectl cordon node <node_name> |
|
Definition
| Mark a node as unschedulable |
|
|
Term
|
Definition
| kubectl uncordon node <node_name> |
|
|
Term
| Drain a node in preparation for maintenance |
|
Definition
| kubectl drain node <node_name> |
|
|
Term
| Add the labels of one or more nodes |
|
Definition
|
|
Term
Listing Resources Kubernets resources also regarded as Kubernetes objects related to a certain namespace, you can either utilise individual kubectl get command to jot down every resource one by one, or you can jot down all the resources in a Kubernetes namespace by executing a single command. Mentioned below are the list of commands to get the resources information.
Create a plain-text list of all namespaces |
|
Definition
|
|
Term
| Create a plain-text list of all pods |
|
Definition
|
|
Term
| Create a comprehensive plain-text list of all pods |
|
Definition
|
|
Term
| Create a list of all pods functioning on a certain node server |
|
Definition
| kubectl get pods–field-selector=spec. nodeName=[server-name] |
|
|
Term
| In plain text, make a lst a specific replication controller |
|
Definition
| kubectl get replicationcontroller [replication-controller-name] |
|
|
Term
| Generate a plain-text list of all replication services and controllers |
|
Definition
| kubectl get replicationcontroller, services |
|
|
Term
Daemonsets A Daemonset assures that some or all Nodes run a copy of a Pod. As nodes are incorporated to the cluster, Pods are implemented to them. As nodes are erased from the cluster, those Pods are garbage collected. Erasing a DaemonSet will clean up the Pods it created.
List one or more daemonsets |
|
Definition
|
|
Term
| Edit and modify the definition of one or more daemonset |
|
Definition
| kubectl edit daemonset <daemonset_name> |
|
|
Term
|
Definition
| kubectl delete daemonset <daemonset_name> |
|
|
Term
|
Definition
| kubectl create daemonset <daemonset_name> |
|
|
Term
| Manage the rollout of a daemonset |
|
Definition
| kubectl rollout daemonset |
|
|
Term
| Show the comprehensive state of daemonsets within a namespace |
|
Definition
| kubectl describe ds <daemonset_name> -n <namespace_name> |
|
|
Term
Events Kubernetes events are objects that displays what is happening within a cluster, like what decisions were implemented by the scheduler or why some pods were erased from the node.Events are the first thing to look at for application, along with infrastructure operations when something is not functioning as anticipated. Mentioned below are the kubectl commands to get the events.
Shortcode = ev
How to List current events for all resources in the system |
|
Definition
|
|
Term
|
Definition
| kubectl get events –field-selector type=Warning |
|
|
Term
| List events but exclude Pod events |
|
Definition
| kubectl get events –field-selector involvedObject.kind!=Pod |
|
|
Term
| Pull events for a single node with a distinct name |
|
Definition
| kubectl get events –field-selector involvedObject.kind=Node, involvedObject.name=<node_name> |
|
|
Term
| From a list of events, filter out normal events |
|
Definition
| kubectl get events –field-selector type!=Normal |
|
|
Term
Logs
You can use Kubernets logs commands to monitor, log and debug the pods
How would you print KubeCTL Logs? |
|
Definition
|
|
Term
| Print the logs for a pod for the last hour |
|
Definition
| kubectl logs –since=1h <pod_name> |
|
|
Term
| Get the current 20 lines of logs |
|
Definition
| kubectl logs –tail=20 <pod_name> |
|
|
Term
| Get logs from a service and choose which container optionally |
|
Definition
| kubectl logs -f <service_name> [-c <$container>] |
|
|
Term
| Adhere to new logs and print the logs for a pod |
|
Definition
| kubectl logs -f <pod_name> |
|
|
Term
| For a container in a pod, Print the logs |
|
Definition
| kubectl logs -c <container_name> <pod_name> |
|
|
Term
| Output the logs for a pod into a ‘pod.log’ file |
|
Definition
| kubectl logs <pod_name> pod.log |
|
|
Term
- View the logs for the last failed pod
|
|
Definition
kubectl logs –previous <pod_name> |
|
|
Term
Deployments
Shortcode = deploy.
A Kubernetes Deployment is utilised to inform Kubernetes how to design or change instances of the pods that hold a containerized application. Deployments can enhance the number of replica pods, enable rollout of revised code in a controlled way, or roll back to an earlier deployment version if required.
How do you list one or more deployments |
|
Definition
|
|
Term
| Show the in-depth state of one or more deployments |
|
Definition
| kubectl describe deployment <deployment_name> |
|
|
Term
Edit and revise the definition of one or more deployment on the server |
|
Definition
| kubectl edit deployment <deployment_name> |
|
|
Term
| Generate one a new deployment |
|
Definition
| kubectl create deployment <deployment_name> |
|
|
Term
|
Definition
| kubectl delete deployment <deployment_name> |
|
|
Term
| Check the rollout status of a deployment |
|
Definition
| kubectl rollout status deployment <deployment_name> |
|
|
Term
Replication Controllers
Shortcode = rc
Make a list of the replication controllers |
|
Definition
|
|
Term
| Make a list of the replication controllers by namespace |
|
Definition
| kubectl get rc –namespace=”<namespace_name>” |
|
|
Term
ReplicaSets
Shortcode = rs
List ReplicaSets |
|
Definition
|
|
Term
| Show the detailed state of one or more ReplicaSets |
|
Definition
| kubectl describe replicasets <replicaset_name> |
|
|
Term
|
Definition
| kubectl scale –replicas=[x] |
|
|
Term
11. Secrets
A Kubernets Secret is an object that comprises minor portion of sensitive data like a token, a key or password.. Such data might otherwise be inserted in an image or in a Pod specification. Users can build Secrets and the system also generates a few Secrets with the help of the following kubectl commands.
How to creat a secret? |
|
Definition
|
|
Term
|
Definition
|
|
Term
| List details about secrets |
|
Definition
|
|
Term
|
Definition
| kubectldelete secret <secret_name> |
|
|
Term
Services and Service Accounts:
A Kubernetes service is a logical abstraction for a deployed group of pods in a cluster (which all perform the same function) and Service accounts are used to provide an identity for pods. Pods that want to interact with the API server will authenticate with a particular service account.
Make a list of one or more services
|
|
Definition
|
|
Term
| Show the detailed state of a service |
|
Definition
| kubectl describe services |
|
|
Term
| Reveal a replication controller, service, deployment or pod as a new Kubernetes service |
|
Definition
| kubectl expose deployment [deployment_name] |
|
|
Term
Edit and modify the definition of one or more services |
|
Definition
|
|
Term
|
Definition
| kubectl get serviceaccounts |
|
|
Term
| Show the in-depth state of one or more service accounts |
|
Definition
| kubectl describe serviceaccounts |
|
|
Term
| Replace a service account |
|
Definition
| kubectl replace serviceaccount |
|
|
Term
|
Definition
| kubectl delete serviceaccount <service_account_name> |
|
|
Term
Kubectl commands adhere to syntax or a common structure, which lets administrators to read and verify every kubectl command entered in the terminal window. There are four important parameters to each kubectl call:
what is the order of a KubeCTL Syntax call? |
|
Definition
kubectl <command> <type> <name> <flags>
The <command> parameter is the operation that should be executed on a resource. Kubectl backs several operations, such as describe, create, get, execute and delete.
The <type> parameter specifies the resource type, like pods, bindings, and nodes. Usually, Resource type designations make use of abbreviations to streamline the command line. For instance, the “persistentvolumeclaims” type can be shortened to “pvc.” The <type> parameter is strong, since there are several resource types, which also include namespaces, services, jobs, resource quotas, replication controllers, leases and events. Programmers and Kubernetes administrators should be acquainted with a complete list of resource types.
The <name> parameter defines the name of the resource in the environment. If we omit the name parameter, the details for all resources are returned, similarly like a wildcard argument. Also, administrators can point out multiple resource types and names in the exact command line, as mentioned below.
kubectl <command> <type> <name1> <name2> … <nameX>
This is effective when the names are all the same resource type, for instance:
kubectl get pod test-pod1 test-pod2
Kubectl syntax also backs the combination of several resource types and names on the exact command line in two ways:
kubectl <command> <type1/name1> <type2/name2> … <typeX/nameX>
or:
kubectl get pod/test-pod1 replicationcontroller/xyzcorp-rc1
Lastly, the <flags> parameter incorporates optional flags to the command line. Flags differ with the command, so not all flags are available for all commands. For instance, the -s, (one dash shorthand notation) or –server (two dashes, longhand notation) flags designate the port and address of the Kubernetes API server.
The -o or –output <flag> sends responses to a terminal window in a certain format. For instance, the -o yaml flag will output a YAML-formatted API object, whereas the -o json flag will output a JSON-formatted API object. |
|
|
Term
|
Definition
|
|
Term
kubectl scale deployment -n <namespace> --replicas 0 --all |
|
Definition
Kubectl Command to scale down all deployments in the namespace
You cannot keep scaling down each deployment in a namespace.
You can instead use the following command to scale down all the pods and deployments in your namespace to 0 |
|
|
Term
| As is clear by the name, the kubectl edit command is used to edit a deployed resource in your Kubernetes cluster. |
|
Definition
kubectl edit <resource type> <resource name>
The <resource type> could be anything from a deployment to a ReplicaSet. It is specified in the key kind in the resource file. The <resource name> is defined under the key metadata.
You could also edit a resource file directly by using the following syntax:
kubectl edit -f <file path> |
|
|
Term
| How to edit the NSP crn-accounts2 in the nspapp namespace |
|
Definition
| KubeCTL Edit deployments crn-accounts2-service-aks -n nspapp |
|
|
Term
How to roll out a deployment to a namespace
Kubectl rollout restart makes it simple to implement updates without a complete reboot in the middle of an environment. You can include the command in a scheduled job, making it easier to automate, which can be great for sporadic deployments. |
|
Definition
KubeCTL Rollout restart deployment crn-account2-service-aks -n nspapp
- Make changes to your code base.
- Build and push a new docker image.
- Update your deployments config to use the new image.
- Run kubectl rollout restart on the deployment in question.
|
|
|
Term
|
Definition
KubeCTL delete pods crm-order2-service-aks-86494d8654-ws2tn -n nspapp
kubectl delete pod pod-name
|
|
|
Term
The given node will be marked unschedulable to prevent new pods from arriving this command evicts the pods if the API server supports https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ . Otherwise, it will use normal DELETE to delete the pods. The command evicts or deletes all pods except mirror pods (which cannot be deleted through the API server). If there are daemon set-managed pods, the command will not proceed without --ignore-daemonsets, and regardless it will not delete any daemon set-managed pods, because those pods would be immediately replaced by the daemon set controller, which ignores unschedulable markings. If there are any pods that are neither mirror pods nor managed by a replication controller, replica set, daemon set, stateful set, or job, then drain will not delete any pods unless you use --force. --force will also allow deletion to proceed if the managing resource of one or more pods is missing. |
|
Definition
Drain node in preparation for maintenance.
$ kubectl drain NODE |
|
|