![]() Bumping kubernetes to version v1.23.2-rc.0-26-gfa546d8cc76, which comprises the following commits: cce0b96068c fix nil pointer in create secret commands 27a66989d0f Fix order of commands in the snapshot tests for persistent volumes cc6c36f286d client-go: Clear the ResourceVersionMatch on paged list calls 271a9f0e58d Improving performance of EndpointSlice controller metrics cache 98cc4f9e96a fix the error when cleaning up jobs for cronjob 6ca361089db Update CHANGELOG to add missing release notes. 40d718778d4 apf: ensure exempt request notes the classification 77b0a633575 Update CHANGELOG/CHANGELOG-1.23.md for v1.23.1 aef116487af Release commit for Kubernetes v1.23.2-rc.0 86ec240af8c Release commit for Kubernetes v1.23.1 1292aee8707 add gce loadbalancer no-op finalizer and existingFwdRule tests 40c6f562eb3 disable gce service handling if has rbs forwarding rule 41b00595137 add ELBRbsFinalizer 036fd24b91c add gce elb rbs opt-in annotation 78e8cb0743c cherry pick of knp 0.0.27 0072226ca87 Re-introduce removed kubectl --dry-run values. c237c5c78fc Point flowcontrol users at v1beta2 c836ebae52f [go1.17] Update to go1.17.5 d065f7ffe77 dependencies: Update golang.org/x/net to v0.0.0-20211209124913-491a49abca63 ea103cb23a9 mount-utils: Detect potential stale file handle 1346242fd57 Skip creating HNS loadbalancer with empty endpoints 38a678fccfb Add regression test for CPUManager distribute NUMA algorithm 6d437c7e827 Add unit test for CPUManager distribute NUMA algorithm verifying fixes 53fd9db1629 Fix accounting bug in CPUManager distribute NUMA policy 9cb973ac5ee Fix error handling in CPUManager distribute NUMA tests 462f3c90b05 Add a sum() helper to the CPUManager cpuassignment logic 03666ecf4fc Allow the map.Values() function in the CPUManager to take a set of keys 22b6be8c2cb Fix CPUManager algo to calculate min NUMA nodes needed for distribution 471dd78f5ea Fix unit tests following bug fix in CPUManager for map functions (2/2) 1db0c5136e7 Fix unit tests following bug fix in CPUManager for map functions (1/2) 18392c0c4ca Fix bug in CPUManager map.Keys() and map.Values() implementations 4c7bcbddd62 Ensure we balance across *all* NUMA nodes in NUMA distribution algo d1248480b20 Short-circuit CPUManager distribute NUMA algo for unusable cpuGroupSize 3a9b3072612 Round the CPUManager mean and stddev calculations to the nearest 1000th 5fc309181ab updated deprecation messages from 1.23 to 1.24 f94a022c1bb kubelet: set failed phase during graceful shutdown b63d5a805b3 kubeadm: avoid requiring a CA key during kubeconfig expiration checks a18dbc12a46 kubeadm: print the CA of kubeconfig files in "check expiration" 880e0ac50f7 kubeadm: validate local etcd certficates during expiration checks f9c8af54ccb publishing-bot/doc: add component-helpers to the readme 3245fe216f2 publishing-bot/rules: remove non existing component-helpers branch 1.19 from the rules 57f88ec404e Changelog: mention kube-scheduler bits deprication f42cbbbff43 rbd: initialize ceph monitors slice with an empty value. 0a1d2914614 Direct v2betaX users to migrate to HPA v2 064a272ee03 DelegateFSGroupToCSIDriver e2e: skip tests with chgrp dd1b0a12471 Update CHANGELOG/CHANGELOG-1.23.md for v1.23.0 8aef834386e [go1.17] Update to go1.17.4 Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> |
||
---|---|---|
.. | ||
kubernetes | ||
kubernetes_git.bb | ||
README.md |
k8s: Kubernetes
meta-virtualization provides the recipes and packages suitable for a k8s cluster instance.
For a kubernetes controller:
- packagegroup-k8s-host
For a kubernetes worker/node:
- packagegroup-k8s-node
If kernel issues or missing features are detected, consider adding the "kernel-modules" package to your image (Since the configuration and RDEPENDS may not be correct for your kernel + k8s version).
CNI
The CNI base packages provide core support and are installed by default as dependencies of the kubernetes packages. Minimal configuration and startup are provided, but you will need to apply the CNI configuration of your choice after boot (see below fo an example)
Configure and initialize the host
A convenience script "k8s-init" is provided to do basic setup on the controller node. After the contoller boots, run it for kubeadm setup and other basic configuration.
Once the node is ready ('kubectl get nodes' to check), follow the instructions for copying the token to your home directory, and apply the networking configuration of choice (flannel in the example):
% mkdir -p $HOME/.kube
% cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
% chown $(id -u):$(id -g) $HOME/.kube/config
% kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Configuration and initialize the node/worker
Once the kubernetes node has booted, it is ready to join the cluster. Some basica configuration is done via the packages and a systctl.d configuration snippet.
Join the cluster (substitute your controller ip and token information):
kubeadm join <controller ip>:6443 --token cq8ngi.6m6mgqi9zf08ypc4 --discovery-token-ca-cert-hash sha256:6064ae531c8dad824f9eadff030f83ec84d00796fac75f1adbd343255eb34fd2
Notes:
Memory:
if running under qemu, the default of 256M of memory is not enough, k3s will OOM and exit.
Boot with qemuparams="-m 2048" to boot with 2G of memory (or choose the appropriate amount for your configuration)
CPUs:
Kubernetes needs at least two cpus, so ensure your qemuboot is smp of at least 2, and/or that your hardware has the required capabilties.
Disk:
if using qemu and core-image* you'll need to add extra space in your disks to ensure containers can start. The following in your image recipe, or local.conf would add 2G of extra space to the rootfs:
IMAGE_ROOTFS_EXTRA_SPACE = "2097152"
Example qemux86-64 boot line:
runqemu qemux86-64 nographic kvm slirp qemuparams="-m 2048"
k8s logs can be seen via:
% journalctl -u kubelet
or
% journalctl -xe
Example output from qemux86-64:
If you've lost the join token, you can create a new one, or list existing ones:
root@qemux86-64-7b:~# kubeadm token create --print-join-command
kubeadm join 10.10.10.117:6443 --token dr71zq.y5vi3s2n2antvcej --discovery-token-ca-cert-hash sha256:6064ae531c8dad824f9eadff030f83ec84d00796fac75f1adbd343255eb34fd2
root@qemux86-64-7b:~# kubeadm token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
cq8ngi.6m6mgqi9zf08ypc4 23h 2021-12-16T16:58:02Z authentication,signing The default bootstrap token generated by 'kubeadm init'. system:bootstrappers:kubeadm:default-node-token
dr71zq.y5vi3s2n2antvcej 23h 2021-12-16T17:46:28Z authentication,signing <none> system:bootstrappers:kubeadm:default-node-token
root@qemux86-64:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
qemux86-64-7b Ready control-plane,master 51m v1.23.1-rc.0.1+dd1b0a12471310-dirty
qemux86-64-9d Ready <none> 49m v1.23.1-rc.0.1+dd1b0a12471310-dirty