[arch-commits] Commit in (23 files)
David Runge
dvzrv at archlinux.org
Wed Nov 25 11:29:07 UTC 2020
Date: Wednesday, November 25, 2020 @ 11:29:07
Author: dvzrv
Revision: 761042
Add kubernetes.
This makes the standalone kubectl package obsolete.
Note: when using kubeadm only kubelet is required.
The kube-{apiserver,controller-manager,proxy} packages
require a lot more manual intervention to setup a cluster.
Added:
kubernetes/
kubernetes/repos/
kubernetes/trunk/
kubernetes/trunk/10-kubeadm-kubelet.conf
kubernetes/trunk/50-kubelet-sysctl.conf
kubernetes/trunk/PKGBUILD
kubernetes/trunk/kube-apiserver.env
kubernetes/trunk/kube-apiserver.service
kubernetes/trunk/kube-controller-manager.env
kubernetes/trunk/kube-controller-manager.service
kubernetes/trunk/kube-proxy.env
kubernetes/trunk/kube-proxy.service
kubernetes/trunk/kube-scheduler.env
kubernetes/trunk/kube-scheduler.service
kubernetes/trunk/kubeadm.install
kubernetes/trunk/kubelet-modules.conf
kubernetes/trunk/kubelet-sysctl.conf
kubernetes/trunk/kubelet.env
kubernetes/trunk/kubelet.install
kubernetes/trunk/kubelet.service
kubernetes/trunk/kubernetes-gotags.patch
kubernetes/trunk/kubernetes-sysusers.conf
kubernetes/trunk/kubernetes-tmpfiles.conf
---------------------------------+
10-kubeadm-kubelet.conf | 10 +
50-kubelet-sysctl.conf | 2
PKGBUILD | 228 ++++++++++++++++++++++++++++++++++++++
kube-apiserver.env | 10 +
kube-apiserver.service | 16 ++
kube-controller-manager.env | 11 +
kube-controller-manager.service | 13 ++
kube-proxy.env | 9 +
kube-proxy.service | 13 ++
kube-scheduler.env | 10 +
kube-scheduler.service | 13 ++
kubeadm.install | 35 +++++
kubelet-modules.conf | 1
kubelet-sysctl.conf | 3
kubelet.env | 9 +
kubelet.install | 10 +
kubelet.service | 20 +++
kubernetes-gotags.patch | 13 ++
kubernetes-sysusers.conf | 1
kubernetes-tmpfiles.conf | 1
20 files changed, 428 insertions(+)
Added: kubernetes/trunk/10-kubeadm-kubelet.conf
===================================================================
--- kubernetes/trunk/10-kubeadm-kubelet.conf (rev 0)
+++ kubernetes/trunk/10-kubeadm-kubelet.conf 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,10 @@
+[Service]
+Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
+Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
+# "kubeadm init" and "kubeadm join" populate the KUBELET_KUBEADM_ARGS in this file
+EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
+# The KUBELET_ARGS can be sourced from this file
+# NOTE: Using the config.yaml is preferred
+EnvironmentFile=-/etc/kubernetes/kubelet.env
+ExecStart=
+ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_ARGS
Added: kubernetes/trunk/50-kubelet-sysctl.conf
===================================================================
--- kubernetes/trunk/50-kubelet-sysctl.conf (rev 0)
+++ kubernetes/trunk/50-kubelet-sysctl.conf 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,2 @@
+# The file is provided as part of the kubeadm package
+net.ipv4.ip_forward = 1
Added: kubernetes/trunk/PKGBUILD
===================================================================
--- kubernetes/trunk/PKGBUILD (rev 0)
+++ kubernetes/trunk/PKGBUILD 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,228 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+
+pkgbase=kubernetes
+pkgname=('kube-apiserver' 'kube-controller-manager' 'kube-proxy' 'kube-scheduler' 'kubectl' 'kubelet' 'kubeadm')
+pkgver=1.19.4
+pkgrel=2
+pkgdesc="Production-Grade Container Scheduling and Management"
+arch=('x86_64')
+url="https://kubernetes.io/"
+license=("Apache")
+depends=('glibc')
+makedepends=('cni-plugins' 'conntrack-tools' 'ebtables' 'ethtool' 'git' 'go'
+'go-bindata' 'go-md2man' 'iptables' 'socat' 'rsync')
+source=("https://github.com/kubernetes/kubernetes/archive/v${pkgver}/kubernetes-${pkgver}.tar.gz"
+ "${pkgbase}-gotags.patch"
+ "10-kubeadm-kubelet.conf"
+ "50-kubelet-sysctl.conf"
+ "kubelet-modules.conf"
+ "kubelet.env"
+ "kubelet.service"
+ "kubernetes-sysusers.conf"
+ "kubernetes-tmpfiles.conf"
+ "kube-apiserver.env"
+ "kube-apiserver.service"
+ "kube-controller-manager.env"
+ "kube-controller-manager.service"
+ "kube-proxy.env"
+ "kube-proxy.service"
+ "kube-scheduler.env"
+ "kube-scheduler.service"
+)
+sha512sums=('b5a2cd73db3b1454c54d500d21630c971b5dae94377180e658638384ef2b243f0b41f1ce00eb425ab5958bddbdc0c792be4f14b9b61a364a90992860ca9109da'
+ '41a3ac1b849a8cfd824b21f5f3c0344a5b2342c51d33f2a79d3d25731a903e9338864faca495285868669be6926d7a9ce44febf40ecd2d40dec7cb1d79cb40b7'
+ '5f7132636b6afe9f00dc450c58073c0829942fa44070e7ec5a2c227c485c83f076bdea081d207f926b44d02700be65bf19a61f5d8d1472edd480f980e6ffbc3a'
+ 'ed5ba22b37eaa9f4950ff3b57d60dd7866fcd5b8bd5197eab3170470528e8d91379483d3eb724589e695184f9b0ed506ebaee73ecca0dc40afdb5f35e79d178a'
+ 'c318b64a03da07dfe435b2d8c368e55b0ab567da78c57ed814a7864fa75aeac52b28cf562b4afd8daa52168af93b318c1fead557ee676e950af25d422c276a17'
+ '18aaf9e7d6964d633688b5e814f85af3a4fe7dfe3f0042ca04ca4811064cdbcdfbfb28021b15efe45f98cc9fbf1cf23a98972cdbcfd4871b165278a0a1179072'
+ 'fb2cee7ebf303d8405abfe7934d20999882c855ae3280bf1bfbf4d3955d4592b221f009a0220e981b0243907f9392aa1f41db1993f9c1ae19a7af55ac8bde8f7'
+ 'b3cc10f025ce59f19c21deed3476f309db2059ee48dd1467f64fdd5b198537c94a1b3eba822d6f8c79bfb394dccbd2ea5c8840f32900c8ba153900c2df77abd1'
+ 'fbcde2b98c16a0841dd04e709834755f50bd52137685ec724dc5b2699b008b77bf03ecddf0781b9f837c0f392a84e70536bc579ca3f8329a8f5fceaa39dd018c'
+ 'dcb0e59117f76d3230cc3666dedc8a171636816141af43802dc047a9d1855f66298d690259bc9b6b63d66c7488dcc4cb65f99c202d7b46705b70d0ad87644520'
+ 'aa9ea75606faf5a70307b4afabba0a0b310429d26047f21902a29a7b05261a78a36aac0b4e04ce1cba898fbe8d93ab971068fa8d624e9fd4913b88a632b360e7'
+ 'f1b8ea6a4a18fe6258fd45105b100db63a8a9151c0c6ee532569ba25cc5749f239afe8a5ee469d7a91f9d39c30cac8591936c65e3252b4278b1f422f98855d45'
+ 'd0ffbbae151a64590709b8cb24547becfe809daf2fc2b1af22fcb1e1de87c419fa986dfe81cfab5bac8413554db1df59e6498c04eddba0ad8efec8889756511f'
+ 'c5c16d97afc0fa455981a56794547a4e6e8a710b1b686ccf84645c8001a601fa41b624ad0009bf21e56ec2da35874ac7808731b4a5b9b0fd80fc188714708f23'
+ 'dd4efa137462905f9e29a99d69b747ae35e58ba8152794bfa417325953dd5059bad96fabfabf73ce1ee2310dc4ab4d1b95c8d931d33b81c67addcb614a51be54'
+ 'ba277f765959ddb8aa0dee5a86cd9df1f40fb3f6ea1001f24825dbf21bd9342981d13894301170431729f76e710f70c23481e4061c64be29517ff497490f1ef3'
+ '2c25c0e11a7b2d6d61e03f9afe7ba21f9497495ab02e85f2623ce8c71019fb8a1af16197ab3968d5da050c2188c3e67372aa43322ac91af84f7da61bf73596bc')
+b2sums=('a3402abbd524ba135b7fa5ae9451743da44e7691e9b646de01b265078d89099440e7d14b56b21f4b2f0e105825d51c9565b62d7ae81b644f2a0a0dde4f40122a'
+ '9ccfe1fcee65e414bba3de3000c1c444590a662259d194c4c6b9fe4ad03dbd687350d7ee1f750b39224f298304eb0b18daa965cde2fcd3bce42e8c903062c30b'
+ 'dbab30d7e1b566027fec9d6a95dd41ed8f64399c39aac07fb4513ce21050eeeb4a226adfd513f76921c305945dfa4a140602ede574dd5eb4cd287e0f2df21714'
+ '27a8dcbbe06fa7aea122fc87ca663710ae2179c995270d94e22c905422e2639f3c9c81eef6723467c76366062381d8bd65e84ef79f47fed7c240973a55f5cb0e'
+ 'a03b8a2ce6a606068cad278c6b8039181968c132a935448bf45e1b3668357487da1528569ed582b107db0654a1614b784a73c726729aad42abed18a4c15ce5b6'
+ '50d5c0c235037b389ee7d5883ebe256287a0e53aba70f3d3571e460b029e8c4ec1a44ae7f08a8aca136504d9728f8a4ce768676ec5110af4a61ff8f19839faeb'
+ 'fc2f424e0ccbeb21267bfcb4045ab7214af51b983495ff7baf6032e2395307873b220a95e5f29c7bc9e709cde246356f4a4d2c77521d8766d574ed3d5e5e362b'
+ '588c2c61496fa93392122e6927877df42826ab94b922e962b8541968d3baca343c699e9f244001782c9fc42ff84b684659aa1f29dde79dac66cd38b4b0499257'
+ 'b2dda66fb2ddb5ab63059c63773c56c035c51c9cb9856860340eb52d89796d7c109d4cff7d76a482aef8674c83b5fb389095b7d78c3b3217d7624366697f5d83'
+ '4a3454dc3ad105fe17fd2620b2627e8949776176a7601216d77017fd276315852a3a584bea4f45c127ff250640e02ad319db006ef681b784f87039f7ee098bec'
+ 'a8bf21df4fae1854bd394529323bb4252095d98551d6133bf239b58abf6d58f0cd048236b4f9d2481e06204a4e072c284c36aa202c889dec2c684c92facbae28'
+ 'e57662608a39a59cc9079c5e6276fb6936dcf6f4a9b95c38606dd325f51e6a03e866f272ef231b46697aa5a342869443b2884f44b3152edc3e9a4199ae3f961f'
+ 'b3ca3299b9bbc450c50fb59f60b68029b1abbdd9f0e01e823710dd203a00f5457f4a8cccfeef9ef083e2875b36fb3712af9fcda6ce911c68ca22831e8e1b4298'
+ '082474a56525f7ea52315fbf9d765081d9f6bbd20ab4213bc2d2a6ddb8a3764987e365f08f157be6deec53f9c1bf2fb6c99595f5649c631e8610fcf81ed61eab'
+ '5ce796468c442d76f311d1c620576dcd2c784fcd40ecaa68ca3a6d7c089e8703506f712ee918f89ddb4debfe061cea3939fa4f2d2a77553dd1cd7aa4fae17729'
+ '4f35d3b5296839dd68885b924a41725a3479c2725c77887038c7d402a6aa754e37fe0d3697e746a1b65a5236f9e927df01e99a66d37d227cb801965575403788'
+ '95a5345e044b8fe9be01fc6230f20b3b12118c6f1fcc3e7ebbfd4d3a3d205dfb492ff0c11397d3dae9abc0cbba83c659ea23803b71c8e240dddc30bf4791dbc5')
+
+prepare() {
+ cd "${pkgbase}-${pkgver}"
+ # the -tags can only be a space separated list
+ patch -Np1 -i ../"${pkgbase}-gotags.patch"
+ # set CGO_ENABLED
+ sed -E 's/(CGO_ENABLED)=0/\1=1/g' -i hack/lib/golang.sh
+}
+
+build() {
+ cd "${pkgbase}-${pkgver}"
+ export CGO_CPPFLAGS="${CPPFLAGS}"
+ export CGO_CFLAGS="${CFLAGS}"
+ export CGO_CXXFLAGS="${CXXFLAGS}"
+ export CGO_LDFLAGS="${LDFLAGS}"
+ export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
+ # NOTE: this also ensures the binaries have full RELRO
+ export GOLDFLAGS="-linkmode=external"
+
+ make all KUBE_VERBOSE=5
+
+ # shell completion
+ local _binary
+ for _binary in {kubeadm,kubectl}; do
+ "_output/bin/${_binary}" completion bash > "_output/${_binary}"
+ "_output/bin/${_binary}" completion zsh > "_output/_${_binary}"
+ done
+
+ # docs
+ hack/update-generated-docs.sh
+}
+
+package_kubeadm() {
+ pkgdesc='A tool for quickly installing Kubernetes and setting up a secure cluster'
+ groups=('kubernetes-tools')
+ depends+=('crictl')
+
+ cd "${pkgbase}-${pkgver}"
+ install -vDm 755 "_output/local/bin/linux/amd64/${pkgname}" -t "$pkgdir/usr/bin"
+ # service override for kubelet.service
+ install -vDm 644 "../10-${pkgname}-kubelet.conf" \
+ "${pkgdir}/usr/lib/systemd/system/kubelet.service.d/10-${pkgname}.conf"
+ # shell completion
+ install -vDm 644 "_output/${pkgname}" -t "$pkgdir/usr/share/bash-completion/completions/"
+ install -vDm 644 "_output/_${pkgname}" -t "$pkgdir/usr/share/zsh/site-functions/"
+ # man pages
+ install -vDm 644 "docs/man/man1/${pkgname}"* -t "${pkgdir}/usr/share/man/man1/"
+}
+
+package_kubectl() {
+ pkgdesc='A command line tool for communicating with a Kubernetes API server'
+ groups=('kubernetes-tools')
+
+ cd "${pkgbase}-${pkgver}"
+ install -vDm 755 "_output/local/bin/linux/amd64/${pkgname}" -t "$pkgdir/usr/bin"
+ # man pages
+ install -vDm 644 "docs/man/man1/${pkgname}"* -t "$pkgdir/usr/share/man/man1"
+ # shell completion
+ install -vDm 644 "_output/${pkgname}" -t "$pkgdir/usr/share/bash-completion/completions/"
+ install -vDm 644 "_output/_${pkgname}" -t "$pkgdir/usr/share/zsh/site-functions/"
+}
+
+package_kubelet() {
+ pkgdesc='An agent that runs on each node in a Kubernetes cluster making sure that containers are running in a Pod'
+ groups=('kubernetes-control-plane' 'kubernetes-node')
+ depends+=('cni-plugins' 'conntrack-tools' 'ebtables' 'ethtool' 'iptables' 'socat')
+ optdepends=('containerd: for using the containerd container runtime'
+ 'cri-o: for using the cri-o container runtime'
+ 'docker: for using the docker container runtime')
+ backup=('etc/kubernetes/kubelet.env')
+ install="${pkgname}.install"
+
+ cd "${pkgbase}-${pkgver}"
+ install -vDm 755 "_output/local/bin/linux/amd64/${pkgname}" -t "$pkgdir/usr/bin"
+ # config
+ install -vDm 644 "../${pkgname}.env" -t "$pkgdir/etc/kubernetes/"
+ # service
+ install -vDm 644 "../${pkgname}.service" -t "$pkgdir/usr/lib/systemd/system"
+ # modules
+ install -vDm 644 "../${pkgname}-modules.conf" \
+ "${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf"
+ # sysctl
+ install -vDm 644 "../50-${pkgname}-sysctl.conf" \
+ "${pkgdir}/etc/sysctl.d/50-${pkgname}.conf"
+ # man pages
+ install -vDm 644 "docs/man/man1/${pkgname}"* -t "${pkgdir}/usr/share/man/man1/"
+ # NOTE: without this directory a node worker will emit error messages upon joining a cluster
+ install -vdm 700 "${pkgdir}/etc/kubernetes/manifests"
+}
+
+package_kube-apiserver() {
+ pkgdesc='Kubernetes control plane component exposing the Kubernetes API'
+ groups=('kubernetes-control-plane')
+ backup=('etc/kubernetes/kube-apiserver.env')
+
+ cd "${pkgbase}-${pkgver}"
+ install -vDm 755 "_output/local/bin/linux/amd64/${pkgname}" -t "$pkgdir/usr/bin"
+ # config
+ install -vDm 644 "../${pkgname}.env" -t "${pkgdir}/etc/kubernetes/"
+ # service
+ install -vDm 644 "../${pkgname}.service" -t "${pkgdir}/usr/lib/systemd/system/"
+ # sysusers.d
+ install -vDm 644 "../kubernetes-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ # tmpfiles.d
+ install -vDm 644 "../kubernetes-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+ # man pages
+ install -vDm 644 "docs/man/man1/${pkgname}"* -t "${pkgdir}/usr/share/man/man1/"
+}
+
+package_kube-controller-manager() {
+ pkgdesc='Kubernetes control plane component that runs controller processes'
+ groups=('kubernetes-control-plane')
+ backup=("etc/kubernetes/${pkgname}.env")
+
+ cd "${pkgbase}-${pkgver}"
+ install -Dm 755 "_output/local/bin/linux/amd64/${pkgname}" -t "$pkgdir/usr/bin"
+ # config
+ install -vDm 644 "../${pkgname}.env" -t "${pkgdir}/etc/kubernetes/"
+ # service
+ install -vDm 644 "../${pkgname}.service" -t "${pkgdir}/usr/lib/systemd/system/"
+ # sysusers.d
+ install -vDm 644 "../kubernetes-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ # tmpfiles.d
+ install -vDm 644 "../kubernetes-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+ # man pages
+ install -vDm 644 "docs/man/man1/${pkgname}"* -t "${pkgdir}/usr/share/man/man1/"
+}
+
+package_kube-proxy() {
+ pkgdesc='Kubernetes network proxy that runs on each node'
+ groups=('kubernetes-control-plane' 'kubernetes-node')
+ backup=("etc/kubernetes/${pkgname}.env")
+
+ cd "${pkgbase}-${pkgver}"
+ install -Dm 755 "_output/local/bin/linux/amd64/${pkgname}" -t "$pkgdir/usr/bin/"
+ # config
+ install -vDm 644 "../${pkgname}.env" -t "${pkgdir}/etc/kubernetes/"
+ # service
+ install -vDm 644 "../${pkgname}.service" -t "${pkgdir}/usr/lib/systemd/system/"
+ # man pages
+ install -vDm 644 "docs/man/man1/${pkgname}"* -t "${pkgdir}/usr/share/man/man1/"
+ install -vdm 755 "${pkgdir}/etc/kubernetes/"
+ install -vdm 755 "${pkgdir}/var/lib/${pkgname}/"
+}
+
+package_kube-scheduler() {
+ pkgdesc='Kubernetes control plane component watching over pods on nodes'
+ groups=('kubernetes-control-plane')
+ backup=("etc/kubernetes/${pkgname}.env")
+
+ cd "${pkgbase}-${pkgver}"
+ install -Dm 755 "_output/local/bin/linux/amd64/${pkgname}" -t "$pkgdir/usr/bin"
+ # config
+ install -vDm 644 "../${pkgname}.env" -t "${pkgdir}/etc/kubernetes/"
+ # service
+ install -vDm 644 "../${pkgname}.service" -t "${pkgdir}/usr/lib/systemd/system/"
+ # sysusers.d
+ install -vDm 644 "../kubernetes-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ # tmpfiles.d
+ install -vDm 644 "../kubernetes-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+ # man pages
+ install -vDm 644 "docs/man/man1/${pkgname}"* -t "${pkgdir}/usr/share/man/man1/"
+}
Added: kubernetes/trunk/kube-apiserver.env
===================================================================
--- kubernetes/trunk/kube-apiserver.env (rev 0)
+++ kubernetes/trunk/kube-apiserver.env 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,10 @@
+# Kubernetes kube-apiserver arguments
+#
+# The KUBE_APISERVER_ARGS environment variable is used to provide flags and
+# options to kube-apiserver when running kube-apiserver.service.
+# See `man 1 kube-apiserver` or `kube-apiserver --help` for further information.
+#
+# NOTE: When using kubeadm to bootstrap a cluster KUBE_APISERVER_ARGS will not
+# be considered, as kube-apiserver runs as a privileged system pod in that
+# case.
+KUBE_APISERVER_ARGS=
Added: kubernetes/trunk/kube-apiserver.service
===================================================================
--- kubernetes/trunk/kube-apiserver.service (rev 0)
+++ kubernetes/trunk/kube-apiserver.service 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,16 @@
+[Unit]
+Description=Kubernetes API Server
+Documentation=man:kube-apiserver(1)
+After=network.target
+After=etcd.service
+
+[Service]
+EnvironmentFile=-/etc/kubernetes/kube-apiserver.env
+User=kube
+ExecStart=/usr/bin/kube-apiserver $KUBE_APISERVER_ARGS
+Restart=on-failure
+Type=notify
+LimitNOFILE=65536
+
+[Install]
+WantedBy=multi-user.target
Added: kubernetes/trunk/kube-controller-manager.env
===================================================================
--- kubernetes/trunk/kube-controller-manager.env (rev 0)
+++ kubernetes/trunk/kube-controller-manager.env 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,11 @@
+# Kubernetes kube-controller-manager arguments
+#
+# The KUBE_CONTROLLER_MANAGER_ARGS environment variable is used to provide
+# flags and options to kube-controller-manager when running
+# kube-controller-manager.service. See `man 1 kube-controller-manager` or
+# `kube-controller-manager --help` for further information.
+#
+# NOTE: When using kubeadm to bootstrap a cluster KUBE_CONTROLLER_MANAGER_ARGS
+# will not be considered, as kube-controller-manager runs as a privileged
+# system pod in that case.
+KUBE_CONTROLLER_MANAGER_ARGS=
Added: kubernetes/trunk/kube-controller-manager.service
===================================================================
--- kubernetes/trunk/kube-controller-manager.service (rev 0)
+++ kubernetes/trunk/kube-controller-manager.service 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kubernetes Controller Manager
+Documentation=man:kube-controller-manager(1)
+
+[Service]
+EnvironmentFile=-/etc/kubernetes/kube-controller-manager.env
+User=kube
+ExecStart=/usr/bin/kube-controller-manager $KUBE_CONTROLLER_MANAGER_ARGS
+Restart=on-failure
+LimitNOFILE=65536
+
+[Install]
+WantedBy=multi-user.target
Added: kubernetes/trunk/kube-proxy.env
===================================================================
--- kubernetes/trunk/kube-proxy.env (rev 0)
+++ kubernetes/trunk/kube-proxy.env 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,9 @@
+# Kubernetes kube-proxy arguments
+#
+# The KUBE_PROXY_ARGS environment variable is used to provide flags and
+# options to kube-proxy when running kube-proxy.service.
+# See `man 1 kube-proxy` or `kube-proxy --help` for further information.
+#
+# NOTE: When using kubeadm to bootstrap a cluster KUBE_PROXY_ARGS will not
+# be considered, as kube-proxy runs as a privileged system pod in that case.
+KUBE_PROXY_ARGS=
Added: kubernetes/trunk/kube-proxy.service
===================================================================
--- kubernetes/trunk/kube-proxy.service (rev 0)
+++ kubernetes/trunk/kube-proxy.service 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kubernetes Kube-Proxy Server
+Documentation=man:kube-proxy(1)
+After=network.target
+
+[Service]
+EnvironmentFile=-/etc/kubernetes/kube-proxy.env
+ExecStart=/usr/bin/kube-proxy $KUBE_PROXY_ARGS
+Restart=on-failure
+LimitNOFILE=65536
+
+[Install]
+WantedBy=multi-user.target
Added: kubernetes/trunk/kube-scheduler.env
===================================================================
--- kubernetes/trunk/kube-scheduler.env (rev 0)
+++ kubernetes/trunk/kube-scheduler.env 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,10 @@
+# Kubernetes kube-scheduler arguments
+#
+# The KUBE_SCHEDULER_ARGS environment variable is used to provide flags and
+# options to kube-scheduler when running kube-scheduler.service.
+# See `man 1 kube-scheduler` or `kube-scheduler --help` for further information.
+#
+# NOTE: When using kubeadm to bootstrap a cluster KUBE_SCHEDULER_ARGS will not
+# be considered, as kube-scheduler runs as a privileged system pod in that
+# case.
+KUBE_SCHEDULER_ARGS=
Added: kubernetes/trunk/kube-scheduler.service
===================================================================
--- kubernetes/trunk/kube-scheduler.service (rev 0)
+++ kubernetes/trunk/kube-scheduler.service 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kubernetes Scheduler Plugin
+Documentation=man:kube-scheduler(1)
+
+[Service]
+EnvironmentFile=-/etc/kubernetes/kube-scheduler.env
+User=kube
+ExecStart=/usr/bin/kube-scheduler $KUBE_SCHEDULER_ARGS
+Restart=on-failure
+LimitNOFILE=65536
+
+[Install]
+WantedBy=multi-user.target
Added: kubernetes/trunk/kubeadm.install
===================================================================
--- kubernetes/trunk/kubeadm.install (rev 0)
+++ kubernetes/trunk/kubeadm.install 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,35 @@
+# This is a default template for a post-install scriptlet.
+# Uncomment only required functions and remove any functions
+# you don't need (and this header).
+
+## arg 1: the new package version
+#pre_install() {
+ # do something here
+#}
+
+# arg 1: the new package version
+post_install() {
+ echo "Switch on IP forwarding: sysctl net.ipv4.ip_forward=1"
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+#pre_upgrade() {
+ # do something here
+#}
+
+## arg 1: the new package version
+## arg 2: the old package version
+#post_upgrade() {
+ # do something here
+#}
+
+## arg 1: the old package version
+#pre_remove() {
+ # do something here
+#}
+
+## arg 1: the old package version
+#post_remove() {
+ # do something here
+#}
Added: kubernetes/trunk/kubelet-modules.conf
===================================================================
--- kubernetes/trunk/kubelet-modules.conf (rev 0)
+++ kubernetes/trunk/kubelet-modules.conf 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1 @@
+br_netfilter
Added: kubernetes/trunk/kubelet-sysctl.conf
===================================================================
--- kubernetes/trunk/kubelet-sysctl.conf (rev 0)
+++ kubernetes/trunk/kubelet-sysctl.conf 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,3 @@
+net.bridge.bridge-nf-call-ip6tables = 1
+net.bridge.bridge-nf-call-iptables = 1
+net.ipv4.ip_forward = 1
Added: kubernetes/trunk/kubelet.env
===================================================================
--- kubernetes/trunk/kubelet.env (rev 0)
+++ kubernetes/trunk/kubelet.env 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,9 @@
+# Kubernetes kubelet arguments
+#
+# The KUBELET_ARGS environment variable is used to provide flags and options to
+# kubelet when running kubelet.service.
+# See `man 1 kubelet` or `kubelet --help` for further information.
+#
+# NOTE: When using kubeadm to bootstrap a cluster KUBELET_ARGS will be appended
+# to the kubeadm specific environment variables.
+KUBELET_ARGS=--cni-bin-dir=/usr/lib/cni
Added: kubernetes/trunk/kubelet.install
===================================================================
--- kubernetes/trunk/kubelet.install (rev 0)
+++ kubernetes/trunk/kubelet.install 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+post_install() {
+ if ! grep "br_netfilter" /proc/modules; then
+ echo "Load the br_netfilter kernel module or reboot: modprobe br_netfilter."
+ fi
+ if [[ $(swapon --noheadings | wc -l) -ne 0 ]]; then
+ echo "WARNING: Disable swap before using kubelet.service."
+ fi
+}
Added: kubernetes/trunk/kubelet.service
===================================================================
--- kubernetes/trunk/kubelet.service (rev 0)
+++ kubernetes/trunk/kubelet.service 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,20 @@
+[Unit]
+Description=The Kubernetes Node Agent
+Documentation=https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
+
+[Service]
+ConfigurationDirectory=kubernetes
+CPUAccounting=true
+IPAccounting=true
+EnvironmentFile=-/etc/kubernetes/kubelet.env
+ExecStart=/usr/bin/kubelet $KUBELET_ARGS
+KillMode=process
+MemoryAccounting=true
+StartLimitInterval=0
+Restart=on-failure
+RestartSec=10
+RuntimeDirectory=kubelet
+StateDirectory=kubelet
+
+[Install]
+WantedBy=multi-user.target
Added: kubernetes/trunk/kubernetes-gotags.patch
===================================================================
--- kubernetes/trunk/kubernetes-gotags.patch (rev 0)
+++ kubernetes/trunk/kubernetes-gotags.patch 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1,13 @@
+diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh
+index b646bbe2edf..89d0a5cdba1 100755
+--- a/hack/lib/golang.sh
++++ b/hack/lib/golang.sh
+@@ -798,7 +798,7 @@ kube::golang::build_binaries() {
+
+ # extract tags if any specified in GOFLAGS
+ # shellcheck disable=SC2001
+- gotags="selinux,$(echo "${GOFLAGS:-}" | sed -e 's|.*-tags=\([^-]*\).*|\1|')"
++ gotags="selinux $(echo "${GOFLAGS:-}" | sed -e 's|.*-tags=\([^-]*\).*|\1|')"
+
+ local -a targets=()
+ local arg
Added: kubernetes/trunk/kubernetes-sysusers.conf
===================================================================
--- kubernetes/trunk/kubernetes-sysusers.conf (rev 0)
+++ kubernetes/trunk/kubernetes-sysusers.conf 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1 @@
+u kube - "User for Kubernetes services" - -
Added: kubernetes/trunk/kubernetes-tmpfiles.conf
===================================================================
--- kubernetes/trunk/kubernetes-tmpfiles.conf (rev 0)
+++ kubernetes/trunk/kubernetes-tmpfiles.conf 2020-11-25 11:29:07 UTC (rev 761042)
@@ -0,0 +1 @@
+d /run/kubernetes 750 root kube - -
More information about the arch-commits
mailing list