All containers are restarted after upgrade, because the container spec hash value is changed.
The upgrade procedure on control plane nodes should be executed one node at a time.
/etc/kubernetes/admin.conf
kubeadm upgrade also automatically renews the certificates that it manages on this node.
To opt-out of certificate renewal the flag --certificate-renewal=false can be used.
reloader.stakater.com/search and
reloader.stakater.com/auto do not work together.
If you have the
reloader.stakater.com/auto: "true" annotation on your deployment, then it
will always restart upon a change in configmaps or secrets it uses,
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.
You can deploy a control plane using tools such
as kubeadm, kops, and kubespray.
Secure communications between control plane services
are implemented using certificates.
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.
Groups of zones are referred to as regions.
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.
Set limits on workload resources
Set namespace limits: Set per-namespace quotas on things like memory and CPU
Prepare for DNS demand: If you expect workloads to massively scale up,
your DNS service must be ready to scale up as well.