meta-virtualization/recipes-containers/k3s
Bruce Ashfield 4fbc98c93c k3s: update to v1.30.2+k3s2
Bumping k3s to version v1.30.2+k3s2-2-g16321f2554, which comprises the following commits:

    faeaf1b01b Update flannel to v0.25.4 and fixed issue with IPv6 mask
    a08ac6fcdc update stable channel to v1.29.6+k3s1 (#10417)
    aa4794b372 Replace 1-weight semaphore on snapshots with simple mutex
    b4d4ed8f01 Fix agent supervisor port using apiserver port instead
    9af17d2997 Update Kubernetes to v1.30.2 (#10349)
    f10cb29534 fix typo, use rancher/permissions
    c0450a2cb4 Fix race condition panic in loadbalancer.nextServer
    cff6f7aa1d Expand GHA go caching to includ newest release branch (#10307)
    d9b8ba8d71 Add snapshot retention etcd-s3-folder fix
    043b1eac5d Add test for `isValidResolvConf` (#10302)
    df5db28a68 Add ADR for support for etcd s3 config secret (#9364)
    1661f1024a Fix bug that caused agents to bypass local loadbalancer
    79ba10f5ec fix: Use actual warningPeriod in certmonitor
    1268779ea0 Bump Local Path Provisioner version (#10268)
    f9130d537d Fix embedded mirror blocked by SAR RBAC and re-enable test
    7a0ea3c953 Add write-kubeconfig-group flag to server (#9233)
    307f07bd61 Fix issue caused by sole server marked as failed under load
    ed23a2bb48 Fix netpol crash when node remains tained unintialized
    f2e7c01acf chore: Bump Trivy version
    4cb4542c3a Bump ubuntu from 22.04 to 24.04 in /tests/e2e/scripts
    84b578ec74 Use busybox tar to avoid issues with fchmodat2 on arm
    86875c97bb Bump alpine from 3.18 to 3.20 in /package
    de4cda57e6 Bump alpine from 3.18 to 3.20 in /conformance
    2eca3f1e2c Update golangci-lint to stop using deprecated skip files/dirs
    f8e0648304 Convert remaining http handlers over to use util.SendError
    ff679fb3ab Refactor supervisor listener startup and add metrics
    3d14092f76 Fix issue with k3s-etcd informers not starting
    eb192197eb Updating the script binary_size_check to complete the command name by adding .exe extension to the k3s binary name to make it available to run stat command
    6683fcdb65 Bump klipper-helm image for tls secret support
    c2738231ec update channel server for may 2024 (#10137)
    3f62ec3207 Add extra log in e2e tests
    99f543a2d4 fix: use absolute path
    86b2554772 test: copy vpn-auth-file to guest
    b8f101fd89 test: increment agentCount
    ab29054887 test: use absolute path to auth file
    a8f88aa9e5 test: add agent with auth file
    6dcd52eb8e Use TrafficManager interface when calling flannel
    af7bcc3900 Bump flannel version to v0.25.2
    aadec85501 Fix go.mod
    6fcaad553d allow helm controller set owner reference
    6886c0977f Follow directory symlinks in auto deploying manifests (#9288)
    3e48386c6e git_workflow filename correction
    c1cb5d63b9 add missing kernel config check
    f24ba9d3a9 Validate resolv.conf for presence of nameserver entries
    2669d67a9b Bump kine to v0.11.9 to fix pagination
    afdcc83afe bump minio-go to v7.0.70
    423675b955 Create ADR for branching strategy (#10147)
    aa36341f66 Update kube-router version to v2.1.2
    5a0162d8ee Drop check for legacy traefik v1 chart
    37f97b33c9 Add support for svclb pod PriorityClassName
    b453630478 Update local-path-provisioner helper script
    095ecdb034 Fix issue with local traffic policy for single-stack services on dual-stack nodes.
    e8950a0a3b Fix issue installing artifacts from builds with multiple runs
    5cf4d75749 Bump spegel version
    bf8b15e7ae bump etcd to v3.5.13
    aaa578785c Bump containerd to v1.7.17
    30999f9a07 Switch stargz over to cri registry config_path
    7374010c0c Use fixed stream server bind address for cri-dockerd
    5f6b813cc8 Add WithSkipMissing to not fail import on missing blobs
    811de8b819 Fix bug when using tailscale config by file
    80978b5b9a Update to v1.30.1 (#10105)
    1d22b6971f windows changes
    1cd7986b50 Update channels with 1.30 (#10097)
    dba30ab21c Replace deprecated ruby function
    14549535f1 Fix e2e tests (#10061)
    6531fb79b0 Deprecate pod-infra-container-image kubelet flag (#7409)
    144f5ad333 Kubernetes V1.30.0-k3s1 (#10063)
    fe7d114c6a Bump E2E opensuse leap to 15.6, fix btrfs test (#10057)
    0981f0069d Add E2E Split Server to Drone, support parrallel testing in Drone (#9940)
    5c94ce2cf8 update stable channel to v1.29.4+k3s1 (#10031)
    94e29e2ef5 Make /db/info available anonymously from localhost
    d3b60543e7 Fix 10 second etcd-snapshot request timeout
    5b431ca531 Fix on-demand snapshots not honoring folder
    d973fadbed Update to v1.29.4 (#9960)
    06b6444904 Add startup testlet on preloaded images (#9941)
    4e26ee1f84 Match setup-go caching key in GitHub Actions (#9890)
    81cd630f87 Update kube-router to v2.1.0
    c59820a52a Allow LPP to read helper logs (#9834)
    3f906bee79 Update packaged manifests
    b10cd8fe28 Bump latest to v1.29.3+k3s1
    4cc73b1fee Actually fix agent certificate rotation
    08f1022663 Don't log 'apiserver disabled' error sent by etcd-only nodes
    7d9abc9f07 Improve etcd load-balancer startup behavior
    fe465cc832 Move etcd snapshot management CLI to request/response
    0792461885 Bump containerd and cri-dockerd
    a064ae2f17 Add quotes to avoid useless updatecli updates
    60248c42de Add supervisor cert/key to rotate list
    9846a72e92 Bump spegel to v0.0.20-k3s1 (#9863)
    0e118fe6d3 fix: agent volume in example docker compose (#9838)
    f2961fb5d2 Add workaround for containerd hosts.toml bug
    49414a8def chore: Bump Trivy version (#9840)
    52712859c5 Add updatecli policy to update k3s-root
    7f659759dd Add certificate expiry check and warnings
    6624273a97 Fix embeddedmirror test
    93bcaccad1 E2E setup: Only install jq when we need it
    c98ca14198 Add wasm test to e2e matrix
    6a42c6fcfe Remove old pinned dependencies (#9806)
    14f54d0b26 Transition from deprecated pointer library to ptr (#9801)
    5d69d6e782 Add tls for kine
    c51d7bfbd1 Add health-check support to loadbalancer
    edb0440017 Fix etcd snapshot reconcile for agentless nodes
    7474a6fa43 Add /etc/passwd and /etc/group to k3s docker image
    6c52235848 update channel server (#9808)
    c47c85e5da Move to ubuntu 23.10 for E2E tests (#9755)
    b5d0d4ee21 Bump Trivy version (#9780)
    41377540fd Use ubuntu latest for better golang caching keys (#9711)
    5461c3e1c1 Bump k3s-root
    3f649e3bcb Add a new error when kine is with disable apiserver or disable etcd
    f099bfa508 Fix error when image has already been pulled
    65cd606832 Respect cloud-provider fields set by kubelet
    d7cdbb7d4d Send error response if member list cannot be retrieved
    7a2a2d075c Move error response generation code into util
    8aecc26b0f Update to v1.29.3-k3s1 and Go 1.21.8 (#9747)
    bba3e3c66b Fix wildcard entry upstream fallback
    364dfd8b89 Fix flaky check in btrfs test
    21c170512c Fix e2e vagrant cacheing
    aea81c0822 Run docker tests in E2E GH Action
    ec5d34dac0 remove repetitive words (#9671)
    fe2ca9ecf1 Warn and suppress duplicate registry mirror endpoints
    9bd4c8a9fc Bump upload and download actions to v4 (#9666)
    2a091a693a Bump metrics-server to v0.7.0
    1c8be1d011 Improve E2E Aftersuite cleanup
    af4c51bfc3 Move to ubuntu 2204 for all E2E tests
    da7312d082 Convert snapshotter test in e2e test
    d022a506d5 Migrate E2E tests to GitHub Actions
    75ccaf9942 Allow non-sudo vagrant
    6f331ea7b5 Include flannel version in flannel cni plugin version
    d37d7a40da Bump Trivy version (#9528)
    88c431aea5 Adjust first node-ip based on configured clusterCIDR
    1fe0371e95 Improve tailscale e2e test
    82cfacb2f3 Update contrib/util/check-config.sh
    ce0765c9f8 Rename `RAW_OUTPUT` -> `NO_COLOR`
    ff7cfa2235 Disable color outputs using RAW_OUTPUT env var
    59c724f7a6 Fix wildcard with embbeded registry test
    f82d438f39 e2e tests: cover WebAssembly integration
    64e4f0e6e7 fix: use correct wasm shims names
    2c4773a5aa chore(deps): Remediating CVEs found by trivy;  CVE-2023-45142 on otelrestful and CVE-2023-48795 on golang.org/x/crypto (#9513)
    091a5c8965 Don't register embedded registry address as an upstream registry
    b5a4846e9d Remove filtering of wildcard mirror entry
    84a071a81e Add env var to allow spegel mirroring of `latest` tag
    26feb25c40 Bump spegel to v0.0.18-k3s4
    88d30f940d Use and version flannel/cni-plugin properly
    0b3593205a Move snapshot-retention to EtcdSnapshotFlags in order to support loading from config
    3576ed4327 Clean up snapshotDir create/exists logic
    b164d7a270 Fix additional corner cases in registries handling
    29c73e6965 Fix setup-go typos (#9634)
    935ad1dbac Move docker tests into tests folder (#9555)
    138a107f4c Reenable Install and Snapshotter Testing (#9601)
    81a60de256 update stable channel to v1.28.7+k3s1 (#9615)
    109e3e454c Bump helm-controller/klipper-helm versions
    82432a2df7 Fix issue with etcd node name missing hostname
    513c3416e7 Tweak netpol node wait logs
    be569f65a9 Fix NodeHosts on dual-stack clusters
    8c83b5e0f3 Rootless mode also bind service nodePort to host for LoadBalancer type
    3e948aa0d5 Correct formatting of GH PR sha256sum artifact (#9472)
    8f777d04f8 Better GitHub CI caching strategy for golang (#9495)
    736fb2bc8d Add an integration test for flannel-backend=none
    3b4f13f28d Update klipper-lb image version
    fa37d03395 Update install test OS matrix (#9480)
    922c5a6bed Unit Testing Matrix and Actions bump (#9479)
    57e11c72d1 Testing ADR (#9562)
    86f102134e Fix netpol startup when flannel is disabled
    fae0d99863 Use 3/2/1 cluster for split role test
    f90fd7b744 Change default number of etcd nodes in E2E splitserver test
    fae41a8b2a Rename AgentReady to ContainerRuntimeReady for better clarity
    91cc2feed2 Restore original order of agent startup functions
    1c1746114c remove e2e logs drone step (#9517)
    085ccbb0ac Fix drone publish for arm (#9503)
    3e13e3619c Update Kubernetes to v1.29.2 (#9493)
    de825845b2 Bump kine and set NotifyInterval to what the apiserver expects
    0ac4c6a056 Expose rootless containerd socket directories for external access
    14c6c63b30 Expose rootless state dir under ~/.rancher/k3s/rootless
    e3b237fc35 Don't verify the node password if the local host is not running an agent
    701e7e45ce Fix iptables check when sbin isn't in user PATH
    fa11850563 Readd `k3s secrets-encrypt rotate-keys` with correct support for KMSv2 GA (#9340)
    cfc3a124ee [Testing]: Test_UnitApplyContainerdQoSClassConfigFileIfPresent (Created) (#8945)
    cc04edf05f Update Kube-router to v2.0.1
    a36cc736bc allow executors to define containerd and docker behavior
    b1323935dc Add codcov secret for integration tests on Push (#9422)
    753c00f30c Consistently handle component exit on shutdown
    9e076db724 Bump cri-dockerd
    e9cec46a23 Runtimes refactor using exec.LookPath
    f9ee66f4d8 Changed how lastHeartBeatTime works in the etcd condition
    358c4d6aa9 build: Align drone base images (#8959)
    950473e35f Bump flannel version
    8224a3a7f6 Fix ipv6 endpoint address selection for on-demand snapshots
    888f866dae Fix issue with coredns node hosts controller
    77ba9904d1 Bump CNI plugins to v1.4.0
    6ec1926f88 Add check for etcd-snapshot-dir and fix panic in Walk
    82e3c32c9f Retry startup snapshot reconcile
    4005600d4e Fix excessive retry on snapshot reconcile
    6a57db553f update channel (#9388)
    5c92345423 Bump codecov/codecov-action from 3 to 4 (#9353)
    a324146b76 Bump Trivy version (#9237)
    fcd1108e73 Add ability to install K3s PR Artifact from GitHub (#9185)
    f249fcc2f1 Bump Local Path Provisioner version (#8953)
    57482a1c1b Bump helm-controller to fix issue with ChartContent
    c635818956 Bump runc and helm-controller versions
    97a22632b9 gofmt config_test.go
    29848dea3d Fix issues with certs.d template generation
    2d98c44fb3 Delete old stalebot
    cef7e9e2dc New stale action
    d8907ce62c Update to v1.29.1 (#9259)
    9a70021a9e Error getting node in setEtcdStatusCondition
    c87e6e5f7e Move proxy dialer out of init() and fix crash
    5303aa60e9 Fix nonexistent dependency repositories (#9213)
    76fa022045 Enable network policy controller metrics
    c5a299d0ed Bump quic-go for CVE-2023-49295
    6072476432 Add e2e test for embedded registry mirror
    37e9b87f62 Add embedded registry implementation
    ef90da5c6e Add server CLI flag and config fields for embedded registry
    b8f3967ad1 Add ADR for embedded registry
    77846d63c1 Propagate errors up from config.Get
    16d29398ad Move registries.yaml load into agent config
    5c99bdd9bd Pin images instead of locking layers with lease
    df5e983fc8 add e2e startup test for rootless k3s (#8383)
    64dbbba996 update s3 e2e test (#9025)
    4a92ced8ee Handle etcd status condition when cluster reset and disable etcd
    8d2c40cdac Use `ipFamilyPolicy: RequireDualStack` for dual-stack kube-dns (#8984)
    ac8fe8de2b fix: update trivy from 0.46.1 to 0.48.1 (#8812)
    6330e26bb3 Wait for taint to be gone in the node before starting the netpol controller
    102ff76328 Print error when downloading file error inside install script (#6874)
    eae221f9e5 Fix OS PRETTY_NAME on tagged releases
    b297996b92 Add runtime checking of golang version
    5fe074b540 Add more paths to crun runtime detection (#9086)
    c45524e662 Add support for containerd cri registry config_path
    319dca3e82 Fix nil map in full snapshot configmap reconcile
    db7091b3f6 Handle logging flags when parsing kube-proxy args
    1e663622d2 Fix the OTHER log message that prints the wrong variable
    08ccea5cb6 Fix install script checksum
    9d21b8a135 add system-agent-installer-k3s step to ga release (#9153)
    a7fe1aaaa5 Dockerfile.dapper: set $HOME properly
    30449e0128 Add 2>dev/null when checking nm-cloud systemd unit
    0ad5d65a1e Added support for env *_PROXY variables for agent loadbalancer (#9118)
    a27d660a24 Add ServiceLB support for PodHostIPs FeatureGate
    baaab250a7 Silence SELinux warning on INSTALL_K3S_SKIP_SELINUX_RPM (#8703)
    aca1c2fd11 Add a retry around updating a secrets-encrypt node annotations (#9039)
    bbd68f3a50 Rebase & Squash (#9070)
    c7a8eef977 update stable channel to v1.28.5+k3s1 and add v1.29 channel (#9110)
    d87851d46e chore: Update Code of Conduct to Redirect to CNCF CoC (#9104)
    9d9fbf4ff4 Bump actions/setup-go from 4 to 5 (#9036)
    798eecf112 chore: Update sonobuoy image versions (#8910)
    3190a5faa2 Remove rotate-keys subcommand (#9079)
    9411196406 Update flannel to v0.24.0 and remove multiclustercidr flag (#9075)
    7101af36bb Update Kubernetes to v1.29.0+k3s1 (#9052)
    bf3f29f9e8 Only publish to code_cov on merged E2E builds (#9051)
    231cb6ed20 Remove GA feature-gates (#8970)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-07-15 14:02:19 +00:00
..
k3s k3s: update to v1.30.2+k3s2 2024-07-15 14:02:19 +00:00
k3s_git.bb k3s: update to v1.30.2+k3s2 2024-07-15 14:02:19 +00:00
README.md k3s: clean up README 2021-03-16 09:30:48 -04:00
relocation.inc k3s: update to v1.30.2+k3s2 2024-07-15 14:02:19 +00:00
src_uri.inc k3s: update to v1.30.2+k3s2 2024-07-15 14:02:19 +00:00

k3s: Lightweight Kubernetes

Rancher's k3s, available under Apache License 2.0, provides lightweight Kubernetes suitable for small/edge devices. There are use cases where the installation procedures provided by Rancher are not ideal but a bitbake-built version is what is needed. And only a few mods to the k3s source code is needed to accomplish that.

CNI

By default, K3s will run with flannel as the CNI, using VXLAN as the default backend. It is both possible to change the flannel backend and to change from flannel to another CNI.

Please see https://rancher.com/docs/k3s/latest/en/installation/network-options/ for further k3s networking details.

Configure and run a k3s agent

The convenience script k3s-agent can be used to set up a k3s agent (service):

k3s-agent -t <token> -s https://<master>:6443

(Here <token> is found in /var/lib/rancher/k3s/server/node-token at the k3s master.)

Example:

k3s-agent -t /var/lib/rancher/k3s/server/node-token -s https://localhost:6443

If you are running an all in one node (both the server and agent) for testing purposes, do not run the above script. It will perform cleanup and break flannel networking on your host.

Instead, run the following (note the space between 'k3s' and 'agent'):

k3s agent -t /var/lib/rancher/k3s/server/token --server http://localhost:6443/

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)

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"

k3s logs can be seen via:

% journalctl -u k3s

or

% journalctl -xe

Example output from qemux86-64 running k3s server:

root@qemux86-64:~# kubectl get nodes
NAME         STATUS   ROLES    AGE   VERSION
qemux86-64   Ready    master   46s   v1.18.9-k3s1

root@qemux86-64:~# kubectl get pods -n kube-system
NAME                                     READY   STATUS      RESTARTS   AGE
local-path-provisioner-6d59f47c7-h7lxk   1/1     Running     0          2m32s
metrics-server-7566d596c8-mwntr          1/1     Running     0          2m32s
helm-install-traefik-229v7               0/1     Completed   0          2m32s
coredns-7944c66d8d-9rfj7                 1/1     Running     0          2m32s
svclb-traefik-pb5j4                      2/2     Running     0          89s
traefik-758cd5fc85-lxpr8                 1/1     Running     0          89s

root@qemux86-64:~# kubectl describe pods -n kube-system

root@qemux86-64:~# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:12:35:02 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fec0::5054:ff:fe12:3502/64 scope site dynamic mngtmpaddr 
       valid_lft 86239sec preferred_lft 14239sec
    inet6 fe80::5054:ff:fe12:3502/64 scope link 
       valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
4: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default 
    link/ether e2:aa:04:89:e6:0a brd ff:ff:ff:ff:ff:ff
    inet 10.42.0.0/32 brd 10.42.0.0 scope global flannel.1
       valid_lft forever preferred_lft forever
    inet6 fe80::e0aa:4ff:fe89:e60a/64 scope link 
       valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:be:3e:25:e7 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
6: cni0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
    link/ether 82:8e:b4:f8:06:e7 brd ff:ff:ff:ff:ff:ff
    inet 10.42.0.1/24 brd 10.42.0.255 scope global cni0
       valid_lft forever preferred_lft forever
    inet6 fe80::808e:b4ff:fef8:6e7/64 scope link 
       valid_lft forever preferred_lft forever
7: veth82ac482e@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default 
    link/ether ea:9d:14:c1:00:70 brd ff:ff:ff:ff:ff:ff link-netns cni-c52e6e09-f6e0-a47b-aea3-d6c47d3e2d01
    inet6 fe80::e89d:14ff:fec1:70/64 scope link 
       valid_lft forever preferred_lft forever
8: vethb94745ed@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default 
    link/ether 1e:7f:7e:d3:ca:e8 brd ff:ff:ff:ff:ff:ff link-netns cni-86958efe-2462-016f-292d-81dbccc16a83
    inet6 fe80::8046:3cff:fe23:ced1/64 scope link 
       valid_lft forever preferred_lft forever
9: veth81ffb276@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default 
    link/ether 2a:1d:48:54:76:50 brd ff:ff:ff:ff:ff:ff link-netns cni-5d77238e-6452-4fa3-40d2-91d48386080b
    inet6 fe80::acf4:7fff:fe11:b6f2/64 scope link 
       valid_lft forever preferred_lft forever
10: vethce261f6a@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default 
    link/ether 72:a3:90:4a:c5:12 brd ff:ff:ff:ff:ff:ff link-netns cni-55675948-77f2-a952-31ce-615f2bdb0093
    inet6 fe80::4d5:1bff:fe5d:db3a/64 scope link 
       valid_lft forever preferred_lft forever
11: vethee199cf4@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default 
    link/ether e6:90:a4:a3:bc:a1 brd ff:ff:ff:ff:ff:ff link-netns cni-4aeccd16-2976-8a78-b2c4-e028da3bb1ea
    inet6 fe80::c85a:8bff:fe0b:aea0/64 scope link 
       valid_lft forever preferred_lft forever


root@qemux86-64:~# kubectl describe nodes

Name:               qemux86-64
Roles:              master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=k3s
                    beta.kubernetes.io/os=linux
                    k3s.io/hostname=qemux86-64
                    k3s.io/internal-ip=10.0.2.15
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=qemux86-64
                    kubernetes.io/os=linux
                    node-role.kubernetes.io/master=true
                    node.kubernetes.io/instance-type=k3s
Annotations:        flannel.alpha.coreos.com/backend-data: {"VtepMAC":"2e:52:6a:1b:76:d4"}
                    flannel.alpha.coreos.com/backend-type: vxlan
                    flannel.alpha.coreos.com/kube-subnet-manager: true
                    flannel.alpha.coreos.com/public-ip: 10.0.2.15
                    k3s.io/node-args: ["server"]
                    k3s.io/node-config-hash: MLFMUCBMRVINLJJKSG32TOUFWB4CN55GMSNY25AZPESQXZCYRN2A====
                    k3s.io/node-env: {}
                    node.alpha.kubernetes.io/ttl: 0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Tue, 10 Nov 2020 14:01:28 +0000
Taints:             <none>
Unschedulable:      false
Lease:
  HolderIdentity:  qemux86-64
  AcquireTime:     <unset>
  RenewTime:       Tue, 10 Nov 2020 14:56:27 +0000
Conditions:
  Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   False   Tue, 10 Nov 2020 14:43:46 +0000   Tue, 10 Nov 2020 14:43:46 +0000   FlannelIsUp                  Flannel is running on this node
  MemoryPressure       False   Tue, 10 Nov 2020 14:51:48 +0000   Tue, 10 Nov 2020 14:45:46 +0000   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure         False   Tue, 10 Nov 2020 14:51:48 +0000   Tue, 10 Nov 2020 14:45:46 +0000   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure          False   Tue, 10 Nov 2020 14:51:48 +0000   Tue, 10 Nov 2020 14:45:46 +0000   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready                True    Tue, 10 Nov 2020 14:51:48 +0000   Tue, 10 Nov 2020 14:45:46 +0000   KubeletReady                 kubelet is posting ready status
Addresses:
  InternalIP:  10.0.2.15
  Hostname:    qemux86-64
Capacity:
  cpu:                1
  ephemeral-storage:  39748144Ki
  memory:             2040164Ki
  pods:               110
Allocatable:
  cpu:                1
  ephemeral-storage:  38666994453
  memory:             2040164Ki
  pods:               110
System Info:
  Machine ID:                 6a4abfacbf83457e9a0cbb5777457c5d
  System UUID:                6a4abfacbf83457e9a0cbb5777457c5d
  Boot ID:                    f5ddf6c8-1abf-4aef-9e29-106488e3c337
  Kernel Version:             5.8.13-yocto-standard
  OS Image:                   Poky (Yocto Project Reference Distro) 3.2+snapshot-20201105 (master)
  Operating System:           linux
  Architecture:               amd64
  Container Runtime Version:  containerd://1.4.1-4-ge44e8ebea.m
  Kubelet Version:            v1.18.9-k3s1
  Kube-Proxy Version:         v1.18.9-k3s1
PodCIDR:                      10.42.0.0/24
PodCIDRs:                     10.42.0.0/24
ProviderID:                   k3s://qemux86-64
Non-terminated Pods:          (5 in total)
  Namespace                   Name                                      CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                   ----                                      ------------  ----------  ---------------  -------------  ---
  kube-system                 svclb-traefik-jpmnd                       0 (0%)        0 (0%)      0 (0%)           0 (0%)         54m
  kube-system                 metrics-server-7566d596c8-wh29d           0 (0%)        0 (0%)      0 (0%)           0 (0%)         56m
  kube-system                 local-path-provisioner-6d59f47c7-npn4d    0 (0%)        0 (0%)      0 (0%)           0 (0%)         56m
  kube-system                 coredns-7944c66d8d-md8hr                  100m (10%)    0 (0%)      70Mi (3%)        170Mi (8%)     56m
  kube-system                 traefik-758cd5fc85-phjr2                  0 (0%)        0 (0%)      0 (0%)           0 (0%)         54m
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests    Limits
  --------           --------    ------
  cpu                100m (10%)  0 (0%)
  memory             70Mi (3%)   170Mi (8%)
  ephemeral-storage  0 (0%)      0 (0%)
Events:
  Type     Reason                   Age                From        Message
  ----     ------                   ----               ----        -------
  Normal   Starting                 56m                kube-proxy  Starting kube-proxy.
  Normal   Starting                 55m                kubelet     Starting kubelet.
  Warning  InvalidDiskCapacity      55m                kubelet     invalid capacity 0 on image filesystem
  Normal   NodeHasSufficientPID     55m (x2 over 55m)  kubelet     Node qemux86-64 status is now: NodeHasSufficientPID
  Normal   NodeHasSufficientMemory  55m (x2 over 55m)  kubelet     Node qemux86-64 status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    55m (x2 over 55m)  kubelet     Node qemux86-64 status is now: NodeHasNoDiskPressure
  Normal   NodeAllocatableEnforced  55m                kubelet     Updated Node Allocatable limit across pods
  Normal   NodeReady                54m                kubelet     Node qemux86-64 status is now: NodeReady
  Normal   Starting                 52m                kube-proxy  Starting kube-proxy.
  Normal   NodeReady                50m                kubelet     Node qemux86-64 status is now: NodeReady
  Normal   NodeAllocatableEnforced  50m                kubelet     Updated Node Allocatable limit across pods
  Warning  Rebooted                 50m                kubelet     Node qemux86-64 has been rebooted, boot id: a4e4d2d8-ddb4-49b8-b0a9-e81d12707113
  Normal   NodeHasSufficientMemory  50m (x2 over 50m)  kubelet     Node qemux86-64 status is now: NodeHasSufficientMemory
  Normal   Starting                 50m                kubelet     Starting kubelet.
  Normal   NodeHasSufficientPID     50m (x2 over 50m)  kubelet     Node qemux86-64 status is now: NodeHasSufficientPID
  Normal   NodeHasNoDiskPressure    50m (x2 over 50m)  kubelet     Node qemux86-64 status is now: NodeHasNoDiskPressure
  Normal   NodeNotReady             17m                kubelet     Node qemux86-64 status is now: NodeNotReady
  Warning  InvalidDiskCapacity      15m (x2 over 50m)  kubelet     invalid capacity 0 on image filesystem
  Normal   Starting                 12m                kube-proxy  Starting kube-proxy.
  Normal   Starting                 10m                kubelet     Starting kubelet.
  Warning  InvalidDiskCapacity      10m                kubelet     invalid capacity 0 on image filesystem
  Normal   NodeAllocatableEnforced  10m                kubelet     Updated Node Allocatable limit across pods
  Warning  Rebooted                 10m                kubelet     Node qemux86-64 has been rebooted, boot id: f5ddf6c8-1abf-4aef-9e29-106488e3c337
  Normal   NodeHasSufficientMemory  10m (x2 over 10m)  kubelet     Node qemux86-64 status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    10m (x2 over 10m)  kubelet     Node qemux86-64 status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     10m (x2 over 10m)  kubelet     Node qemux86-64 status is now: NodeHasSufficientPID
  Normal   NodeReady                10m                kubelet     Node qemux86-64 status is now: NodeReady