summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-containers/kubernetes/kubernetes/k8s-init31
-rw-r--r--recipes-containers/kubernetes/kubernetes_git.bb12
2 files changed, 42 insertions, 1 deletions
diff --git a/recipes-containers/kubernetes/kubernetes/k8s-init b/recipes-containers/kubernetes/kubernetes/k8s-init
new file mode 100644
index 00000000..8aaa86e8
--- /dev/null
+++ b/recipes-containers/kubernetes/kubernetes/k8s-init
@@ -0,0 +1,31 @@
1#!/bin/sh
2#
3# Copyright (C) 2021 Bruce Ashfield
4#
5# SPDX-License-Identifier: Apache-2.0
6
7# cleanup the iptables
8if [ -f /etc/sysconfig/iptables ]; then
9 cp /etc/sysconfig/iptables /etc/sysconfig/iptables.ORIG
10fi
11iptables --flush && iptables --flush && iptables-save > /etc/sysconfig/iptables
12systemctl restart iptables.service
13
14# Load/Enable br_netfilter kernel module
15modprobe br_netfilter
16modprobe overlay
17
18echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
19echo '1' > /proc/sys/net/bridge/bridge-nf-call-ip6tables
20echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.d/k8s.conf
21echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.d/k8s.conf
22echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.d/k8s.conf
23
24systemctl restart systemd-sysctl.service
25
26kubeadm init
27
28# Copy the cluster configuration to the regular users home directory
29mkdir -p $HOME/.kube
30cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
31chown $(id -u):$(id -g) $HOME/.kube/config
diff --git a/recipes-containers/kubernetes/kubernetes_git.bb b/recipes-containers/kubernetes/kubernetes_git.bb
index 82edadd6..7cdef2c7 100644
--- a/recipes-containers/kubernetes/kubernetes_git.bb
+++ b/recipes-containers/kubernetes/kubernetes_git.bb
@@ -31,6 +31,7 @@ SRC_URI:append = " \
31 file://0001-build-golang.sh-convert-remaining-go-calls-to-use.patch \ 31 file://0001-build-golang.sh-convert-remaining-go-calls-to-use.patch \
32 file://0001-Makefile.generated_files-Fix-race-issue-for-installi.patch \ 32 file://0001-Makefile.generated_files-Fix-race-issue-for-installi.patch \
33 file://cni-containerd-net.conflist \ 33 file://cni-containerd-net.conflist \
34 file://k8s-init \
34 " 35 "
35 36
36DEPENDS += "rsync-native \ 37DEPENDS += "rsync-native \
@@ -100,11 +101,16 @@ do_install() {
100 101
101 install -m 0644 ${WORKDIR}/git/release/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service ${D}${systemd_unitdir}/system/ 102 install -m 0644 ${WORKDIR}/git/release/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service ${D}${systemd_unitdir}/system/
102 install -m 0644 ${WORKDIR}/git/release/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf ${D}${systemd_unitdir}/system/kubelet.service.d/ 103 install -m 0644 ${WORKDIR}/git/release/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf ${D}${systemd_unitdir}/system/kubelet.service.d/
104
105 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
106 install -d "${D}${BIN_PREFIX}/bin"
107 install -m 755 "${WORKDIR}/k8s-init" "${D}${BIN_PREFIX}/bin"
108 fi
103} 109}
104 110
105CNI_NETWORKING_FILES ?= "${WORKDIR}/cni-containerd-net.conflist" 111CNI_NETWORKING_FILES ?= "${WORKDIR}/cni-containerd-net.conflist"
106 112
107PACKAGES =+ "kubeadm kubectl kubelet kube-proxy ${PN}-misc" 113PACKAGES =+ "kubeadm kubectl kubelet kube-proxy ${PN}-misc ${PN}-host"
108 114
109ALLOW_EMPTY:${PN} = "1" 115ALLOW_EMPTY:${PN} = "1"
110INSANE_SKIP:${PN} += "ldflags already-stripped" 116INSANE_SKIP:${PN} += "ldflags already-stripped"
@@ -131,6 +137,10 @@ FILES:kubectl = "${bindir}/kubectl"
131FILES:kube-proxy = "${bindir}/kube-proxy" 137FILES:kube-proxy = "${bindir}/kube-proxy"
132FILES:${PN}-misc = "${bindir}" 138FILES:${PN}-misc = "${bindir}"
133 139
140ALLOW_EMPTY:${PN}-host = "1"
141FILE:${PN}-host = "${BIN_PREFIX}/bin/k8s-init"
142RDEPENDS:${PN}-host = "${PN}"
143
134RRECOMMENDS:${PN} = "\ 144RRECOMMENDS:${PN} = "\
135 kernel-module-xt-addrtype \ 145 kernel-module-xt-addrtype \
136 kernel-module-xt-nat \ 146 kernel-module-xt-nat \