Kubernetes 1.20
The Raddest Release
raddest: adjective, Slang. excellent; wonderful; cool:
11 enhancements ==> stable
15 enhancements ==> beta
16 enhancements ==> alpha.
42 enhancements
Container Runtime Interface moved to stable
Dockershim is deprecated
Docker as an underlying RUNTIME is being deprecated.
Docker still an option.
Open Container Initiative (OCI) Docker, CRI-O, containerd
IPv4/IPv6 dual-stack
- Still alpha feature
- Cluster IP Service can have both IPv4 & IPv6
-
.spec.ipFamilyPolicy
- Move from single to dual stack
- Move from dual to single stack
go1.15.5 is now used in K8s
kubectl
kubectl debug #beta
kubectl alpha debug ...
kubectl debug #beta
kubectl alpha debug ...
kubectl debug ...
kubectl code is decoupled
https://github.com/kubernetes/kubectl
k8s.io/kubernetes/pkg/kubectl
- Avoid dependencies on K8s internal code
- Make it easy for external projects to reuse code from kubectl
Graceful Node Shutdown
- Alpha feature
- Allows graceful termination of pods during a system shutdown
- kubelet is aware of system status
kubelet exec probe timeouts
Probes:
- initialDelaySeconds
- periodSeconds
- successThreshold
- failureThreshold
- timeoutSeconds
kubelet exec probe timeouts
Turn it off via feature gate:
ExecProbeTimeout:False
Probes:
- initialDelaySeconds
- periodSeconds
- successThreshold
- failureThreshold
- timeoutSeconds
startupProbe graduates to stable
- hold other probes before my app is really ready to be checked
- Avoid pod to be killed very early
- Avoid pod to be left as dead for a long time
Tracking Terminating Endpoints in the EndpointSlice API
- EndpointSlice API to track endpoints being terminated
- no need to watch the pods
- Make smarter decisions
Networking
Different protocols in the same service definition with type=loadbalancer
Two load balancers for TCP & UDP traffic
Different protocols in the same service definition with type=loadbalancer
- alpha feature
- both UPD & TCP is supported on the same port
Two load balancers for TCP & UDP traffic
Different protocols in the same service definition with type=loadbalancer
- alpha feature
- both UPD & TCP is supported on the same port
Two load balancers for TCP & UDP traffic
apiVersion: v1
kind: Service
metadata:
name: mixed-protocol
spec:
type: LoadBalancer
ports:
- name: dns-udp
port: 53
protocol: UDP
- name: dns-tcp
port: 53
protocol: TCP
selector:
app: my-dns-server
Optionally Disable NodePorts for Service type=LoadBalancer
- alpha feature
-
allocateLoadBalancerNodePort: *bool
Getting rid of non-inclusive language in kubeadm
master taint is replaced by controlplane
CronJob (previously ScheduledJobs) graduates to stable
Thank you
K8s 1.20 release updates
By fmuyassarov
K8s 1.20 release updates
- 297