COS-85 is very old OS image and is EoL in September 2022. Update to the
latest stable LTS version of COS.
Signed-off-by: David Porter <david@porter.me>
* Detect if image is using cgroupv2
* Configure both kubelet and containerd to use systemd cgroup driver
when running under cgroupv2
Systemd cgroup driver is recommended to be used when running on
cgroupv2. It is also the default in moby
https://github.com/moby/moby/pull/40846
Signed-off-by: David Porter <david@porter.me>
A previous commit updated the containerd version used on Windows
nodes from 1.5.4 to 1.6.2. However, the folder structure of the
containerd releases changed since then from:
cni/$binary.exe
to:
cni/bin/$binary.exe
Because of this, the Windows nodes do not have the necessary CNI
binaries needed to setup the pod networks.
containerd v1.6.0 introduced HostProcessContainers support [1], which
are required for e2e tests that need that feature.
This addresses some of the permafailing tests for Windows GCE E2E test runs.
[1] https://github.com/containerd/containerd/pull/5131
This change adds 2 options for windows:
--forward-healthcheck-vip: If true forward service VIP for health check
port
--root-hnsendpoint-name: The name of the hns endpoint name for root
namespace attached to l2bridge, default is cbr0
When --forward-healthcheck-vip is set as true and winkernel is used,
kube-proxy will add an hns load balancer to forward health check request
that was sent to lb_vip:healthcheck_port to the node_ip:healthcheck_port.
Without this forwarding, the health check from google load balancer will
fail, and it will stop forwarding traffic to the windows node.
This change fixes the following 2 cases for service:
- `externalTrafficPolicy: Cluster` (default option): healthcheck_port is
10256 for all services. Without this fix, all traffic won't be directly
forwarded to windows node. It will always go through a linux node and
get forwarded to windows from there.
- `externalTrafficPolicy: Local`: different healthcheck_port for each
service that is configured as local. Without this fix, this feature
won't work on windows node at all. This feature preserves client ip
that tries to connect to their application running in windows pod.
Change-Id: If4513e72900101ef70d86b91155e56a1f8c79719