What is the Kubernetes API? What is the Admission Contoller?
Primary interface for users and system components, RESTful API
The Admission Controller enforces policies and modifies resources. It enforces quotas, sets defaults, validates configurations, etc.
How can CRD’s be used to extend the Kubernetes API?
Define new resource types (CRDs) which extend existing Kubernetes resources
How do you list resource types in a cluster?
kubectl api-resources
What is the use of the –authorization-mode?
The –authorization-mode flag is used to specify the method(s) for controlling access and permissions within Kubernetes
If not set, the default is AlwaysAllow
What are the main three stages a request will pass through on its journey via the API server?
For how long must Kubernetes behaviours function after their announced deprecation?
No less than 1 year
Which Kubernetes API version is considered to be “high risk” and may be moved out of use without warning?
Alpha
Which Kubernetes API version is generally considered “safe” to use despite not being recommended for production due to possible breaking changes?
Beta
Which Kubernetes API version is typically disabled by default and has a support window of approximately 9 months before deprecation?
Beta
What are Stable (GA) Kubernetes APIs?
Enabled by default and backwards-compatible within a major version
What is the role and purpose of RBAC in Kubernetes?
To regulate access to resources in a Kubernetes cluster, enforce policy-based access for users, groups, and Service Accounts, and enhance security
What is the Kubernetes Certificate Authority?
A trusted entity used by the K8s cluster for creating and verifying certificates.
It is a core component of K8s and our KubeConfig file will reference the public key of the CA
What are Users, Groups, and Service Accounts in K8s?
Users: individuals or applications that interact with the K8s cluster. Not managed by K8s
Groups: also managed outside of K8s. Represents multiple users. When permissions are give to a group all users in the group will be given the permissions
ServiceAccounts: Used by applications running in K8s. They are K8s objects managed by K8s. They are tied to a specific namespace.
What ServiceAccount is a pod assigned if none is given?
`default1
What does the kubeconfig file contain?
Cluster details and user information
What does the command kubectl auth can-i * * check?
If the user has permissions to perform an action on a resource such as :
kubectl auth can-i get pods
How are permissions assigned to a user in Kubernetes using RBAC?
Via the user’s membership or group membership assigned by a ClusterRoleBinding
What is the Kubernetes Scheduler and its role?
The scheduler schedules applications in the form of pods to run on nodes.
When a pod is created the scheduled will check available resources and identify the best node to run on and assign the pod to the node
What is the use of nodeName and nodeSelector? What mechanism of labels does the nodeSelector make use of?
nodeName and nodeSelector are used to control where pods are scheduled within a cluster.
nodeName directly specifies the name of a particular node on which a pod should be scheduled
nodeSelector allows you to schedule pods to nodes that possess specific labels.
What are the main operations performed by the scheduler?
Filtering, scoring, and binding
What is ephemeral storage? What is persistent storage?
Ephemeral storage does not survive restarts and is used as required. It is discarded after use.
Ex: EmptyDir
Persistent storage survives restarts and the removal of the container
What are some examples of CNCF Graduated Storage Solutions
Rook
Ceph - provides object, block, and file storage
Longhorn
OpenEBS
What are Retain Policies?
Retain - data kept until the volume is manually deleted
Delete - underlying storage is deleted along with the volume
In Kubernetes, what is the significance of setting a volume’s emptyDir.medium to Memory?
Configures the volume as a high-performance cache area