Production environment | Kubernetes - 0 views
-
to promote an existing cluster for production use
- ...22 more annotations...
-
You can use role-based access control (RBAC) and other security mechanisms to make sure that users and workloads can get access to the resources they need, while keeping workloads, and the cluster itself, secure. You can set limits on the resources that users and workloads can access by managing policies and container resources.
-
you need to plan how to scale to relieve increased pressure from more requests to the control plane and worker nodes or scale down to reduce unused resources.
-
Managed control plane: Let the provider manage the scale and availability of the cluster's control plane, as well as handle patches and upgrades.
-
The simplest Kubernetes cluster has the entire control plane and worker node services running on the same machine.
-
Certificates are automatically generated during deployment or you can generate them using your own certificate authority.
-
Separate and backup etcd service: The etcd services can either run on the same machines as other control plane services or run on separate machines
-
Create multiple control plane systems: For high availability, the control plane should not be limited to a single machine
-
Some deployment tools set up Raft consensus algorithm to do leader election of Kubernetes services. If the primary goes away, another service elects itself and take over.
-
if you installed with kubeadm, there are instructions to help you with Certificate Management and Upgrading kubeadm clusters.
-
Production-quality workloads need to be resilient and anything they rely on needs to be resilient (such as CoreDNS).
-
Add nodes to the cluster: If you are managing your own cluster you can add nodes by setting up your own machines and either adding them manually or having them register themselves to the cluster’s apiserver.
-
Set up node health checks: For important workloads, you want to make sure that the nodes and pods running on those nodes are healthy.
-
Authentication: The apiserver can authenticate users using client certificates, bearer tokens, an authenticating proxy, or HTTP basic auth.
-
Authorization: When you set out to authorize your regular users, you will probably choose between RBAC and ABAC authorization.
-
Role-based access control (RBAC): Lets you assign access to your cluster by allowing specific sets of permissions to authenticated users. Permissions can be assigned for a specific namespace (Role) or across the entire cluster (ClusterRole).
-
Attribute-based access control (ABAC): Lets you create policies based on resource attributes in the cluster and will allow or deny access based on those attributes.
-
Prepare for DNS demand: If you expect workloads to massively scale up, your DNS service must be ready to scale up as well.