<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Flatcar Linux on Documentation</title><link>https://docs.daper.io/flatcar/index.html</link><description>Recent content in Flatcar Linux on Documentation</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://docs.daper.io/flatcar/index.xml" rel="self" type="application/rss+xml"/><item><title>CRI-O + CRUN</title><link>https://docs.daper.io/flatcar/crio/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.daper.io/flatcar/crio/index.html</guid><description>cri-o crun
Install CRUN Download the latest release and put it on /opt/bin.
wget -O /opt/bin/crun https://github.com/containers/crun/releases/download/1.6/crun-1.6-linux-amd64 Install CRI-O Download the latest release and untar it. Use the install script with the following configuration:
export BINDIR=/opt/bin export SYSTEMDDIR=/etc/systemd/system export OCIDIR=/etc export PREFIX=/tmp ./install Then you need to update some files
sed -i &amp;#39;s/\/usr\/local\/bin\/crio/\/opt\/bin\/crio/&amp;#39; /etc/systemd/system/crio.service mkdir /etc/systemd/system/crio.service.d /var/lib/crio cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/crio.service.d/10-use-custom-path.conf [Service] Environment=&amp;#34;PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/bin&amp;#34; EOF cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/containers/registries.conf [registries.search] registries = [&amp;#39;registry.</description></item><item><title>K3S</title><link>https://docs.daper.io/flatcar/k3s/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.daper.io/flatcar/k3s/index.html</guid><description>Write its configuration file:
mkdir -p /etc/rancher/k3s cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/rancher/k3s/config.yaml kube-controller-manager-arg: - &amp;#34;bind-address=0.0.0.0&amp;#34; - &amp;#34;flex-volume-plugin-dir=/var/lib/kubelet/volumeplugins/nodeagent~uds&amp;#34; kube-proxy-arg: - &amp;#34;metrics-bind-address=0.0.0.0&amp;#34; kube-scheduler-arg: - &amp;#34;bind-address=0.0.0.0&amp;#34; kubelet-arg: - &amp;#34;allowed-unsafe-sysctls=net.ipv6.conf.all.disable_ipv6&amp;#34; - &amp;#34;cgroup-driver=systemd&amp;#34; - &amp;#34;volume-plugin-dir=/var/lib/kubelet/volumeplugins&amp;#34; disable: - servicelb - traefik - metrics-server flannel-backend: none etcd-expose-metrics: true node-ip: &amp;lt;node-ip&amp;gt; cluster-cidr: 10.33.0.0/16 service-cidr: 10.34.0.0/16 service-node-port-range: 1-32767 disable-network-policy: true container-runtime-endpoint: unix:///run/crio/crio.sock default-local-storage-path: /var/lib/rancher/k3s/volumes EOF Execute the installation script as root:
curl -sfL https://get.k3s.io | sh -</description></item><item><title>Calico</title><link>https://docs.daper.io/flatcar/calico/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.daper.io/flatcar/calico/index.html</guid><description>Install Tigera operator with:
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/tigera-operator.yaml Now create the custom resources
cat &amp;lt;&amp;lt;EOF | kubectl create -f- # This section includes base Calico installation configuration. # For more information, see: https://projectcalico.docs.tigera.io/master/reference/installation/api#operator.tigera.io/v1.Installation apiVersion: operator.tigera.io/v1 kind: Installation metadata: name: default spec: # Configures Calico networking. calicoNetwork: # Note: The ipPools section cannot be modified post-install. ipPools: - blockSize: 26 cidr: 10.33.0.0/16 encapsulation: VXLANCrossSubnet natOutgoing: Enabled nodeSelector: all() flexVolumePath: None --- # This section configures the Calico API server.</description></item><item><title>Customize containerd</title><link>https://docs.daper.io/flatcar/customize-containerd/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.daper.io/flatcar/customize-containerd/index.html</guid><description>The default configuration under /run/torcx/unpack/docker/usr/share/containerd/config.toml can’t be changed but you can copy it to /etc/containerd/config.toml and modify it. Then create a /etc/systemd/system/containerd.service.d/10-use-custom-config.conf unit drop-in file to select the new configuration:
[Service] ExecStart= ExecStart=/usr/bin/containerd On a running system, execute systemctl daemon-reload ; systemctl restart containerd for it to take effect.
/etc/containerd/config.toml version = 2 # persistent data location root = &amp;#34;/var/lib/containerd&amp;#34; # runtime state information state = &amp;#34;/run/containerd&amp;#34; # set containerd as a subreaper on linux when it is not running as PID 1 subreaper = true # set containerd&amp;#39;s OOM score oom_score = -999 disabled_plugins = [] # grpc configuration [grpc] address = &amp;#34;/run/containerd/containerd.</description></item><item><title>Kube-vip - LoadBalancer</title><link>https://docs.daper.io/flatcar/kube-vip/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.daper.io/flatcar/kube-vip/index.html</guid><description>First of all we need to tell the systemd-networkd that kube-vip will manage all interfaces starting with vip-. Create a file named /etc/systemd/network/10-vip.network with the following content:
[Match] Name=vip-* [Link] Unmanaged=yes And reload the networkd daemon with networkctl reload.
Then we can use the kube-vip binary to generate a manifest to install it on the cluster. Issue this command:
kube-vip manifest daemonset \ --arp \ --enableLoadBalancer \ --inCluster \ --serviceInterface eth0 \ --services \ --servicesElection Now generate a config map for its configuration (this will be used by the cloud controller to auto assign 0.</description></item></channel></rss>