Role Based Access Control (RBAC) is arguably one of the biggest headaches for engineers in a Kubernetes cluster.
However, there are certain ways to make it far easier.
A thread π§΅
Before jumping into that, let's talk about RBAC.
When you're trying to access a Kubernetes cluster and perform an action, it takes two roles:
- Authentication
- Authorization
Authentication gets you into the cluster. Authorization allows you to perform a certain action in a cluster.
For example, with proper authentication, you can use `kubectl` commands on a Kubernetes cluster, but you may not have permission to actually do anything like list or create Pods. Therefore, you'll need authorization permission.
OpenID Connect (OIDC), which is an authentication standard, is utilized by a ton of different tools to make this process easier.
Azure Active Directory is a great source and can even be used outside of Azure.
It can be used for both the authentication piece and the authorization piece to ensure that production environments have the proper security from a user, group, and service account perspective.
Check out how to get Azure Active Directory up and running with Azure Kubernetes Service at the link below.
As Kubernetes continues to gain popularity, engineers have to know how Kubernetes works, and why it might make sense in their environment.
A thread π§΅
Here are a few questions that you should ask yourself
- What benefits does Kubernetes bring to environments?
- What do technologies like containerization do for organizations?
- Does Kubernetes actually help teams?
In this blog post, Iβll provide some basic background on containers and Kubernetes.
Also, some suggestions for how to think about Kubernetes for infrastructure pros.
Are you using Ingress Controllers in your Kubernetes environment?
If not, let's break down what they are.
A thread π§΅
At a high level, Ingress Controllers are:
- Specify multiple paths
- Specify multiple services
All in one load balancer.
Let's break it down.
ingress Controllers are just like any other Controller in a Kubernetes environment. They confirm that the current state is the desired state for the deployment.
If so, ensure that you're comfortable in the following domains:
- Kubernetes storage
- Troubleshooting system components (control planes and worker nodes)
- Pod and other workload scheduling (including high availability)
(cont)
- Cluster architecture (building out clusters using Kubeadm)
- All of the control plane and worker node components (Etcd, Controller, Scheduler, etc.)
- RBAC
- Cluster security
- Kubernetes services and networking
Are you using GitOps today in your Kubernetes cluster?
If not, let me show you how to get a GitOps operator up and running in under EIGHT minutes.
a thread π§΅
Using Flux (a popular GitOps operator), you can:
- Install the controller on a Kubernetes cluster
- Connect to a GitHub org
- Point to a source control repo
- Deploy an app
- Have it managed by GitOps
in less time than you probably think.
If you're not familiar with GitOps, here's a quick breakdown.