mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
Merge pull request #45253 from mikedanese/rpms
Automatic merge from submit-queue (batch tested with PRs 44520, 45253, 45838, 44685, 45901) bazel: build rpms to match the debs that we output
This commit is contained in:
commit
513d2754ac
13
build/BUILD
13
build/BUILD
@ -15,6 +15,7 @@ filegroup(
|
|||||||
":package-srcs",
|
":package-srcs",
|
||||||
"//build/debs:all-srcs",
|
"//build/debs:all-srcs",
|
||||||
"//build/release-tars:all-srcs",
|
"//build/release-tars:all-srcs",
|
||||||
|
"//build/rpms:all-srcs",
|
||||||
"//build/visible_to:all-srcs",
|
"//build/visible_to:all-srcs",
|
||||||
],
|
],
|
||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
@ -98,6 +99,18 @@ DOCKERIZED_BINARIES = {
|
|||||||
stamp = 1,
|
stamp = 1,
|
||||||
) for binary, meta in DOCKERIZED_BINARIES.items()]
|
) for binary, meta in DOCKERIZED_BINARIES.items()]
|
||||||
|
|
||||||
|
genrule(
|
||||||
|
name = "os_package_version",
|
||||||
|
outs = ["version"],
|
||||||
|
cmd = """
|
||||||
|
grep ^STABLE_BUILD_SCM_REVISION bazel-out/stable-status.txt \
|
||||||
|
| awk '{print $$2}' \
|
||||||
|
| sed -e 's/^v//' -e 's/[\+-]/_/g' \
|
||||||
|
>$@
|
||||||
|
""",
|
||||||
|
stamp = 1,
|
||||||
|
)
|
||||||
|
|
||||||
release_filegroup(
|
release_filegroup(
|
||||||
name = "docker-artifacts",
|
name = "docker-artifacts",
|
||||||
srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] +
|
srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] +
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package(default_visibility = ["//visibility:public"])
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
load("@io_bazel//tools/build_defs/pkg:pkg.bzl", "pkg_tar", "pkg_deb")
|
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
|
||||||
load("@io_kubernetes_build//defs:deb.bzl", "k8s_deb", "deb_data")
|
load("@io_kubernetes_build//defs:deb.bzl", "k8s_deb", "deb_data")
|
||||||
load("@io_kubernetes_build//defs:build.bzl", "release_filegroup")
|
load("@io_kubernetes_build//defs:build.bzl", "release_filegroup")
|
||||||
|
|
||||||
|
9
build/rpms/10-kubeadm.conf
Normal file
9
build/rpms/10-kubeadm.conf
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Service]
|
||||||
|
Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true"
|
||||||
|
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
|
||||||
|
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
|
||||||
|
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
|
||||||
|
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
|
||||||
|
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
|
||||||
|
ExecStart=
|
||||||
|
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CGROUP_ARGS $KUBELET_EXTRA_ARGS
|
58
build/rpms/BUILD
Normal file
58
build/rpms/BUILD
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
load("@bazel_tools//tools/build_defs/pkg:rpm.bzl", "pkg_rpm")
|
||||||
|
|
||||||
|
pkg_rpm(
|
||||||
|
name = "kubectl",
|
||||||
|
changelog = "//:CHANGELOG.md",
|
||||||
|
data = [
|
||||||
|
"//cmd/kubectl",
|
||||||
|
],
|
||||||
|
spec_file = "kubectl.spec",
|
||||||
|
version_file = "//build:os_package_version",
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_rpm(
|
||||||
|
name = "kubelet",
|
||||||
|
changelog = "//:CHANGELOG.md",
|
||||||
|
data = [
|
||||||
|
"kubelet.service",
|
||||||
|
"//cmd/kubelet",
|
||||||
|
],
|
||||||
|
spec_file = "kubelet.spec",
|
||||||
|
version_file = "//build:os_package_version",
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_rpm(
|
||||||
|
name = "kubeadm",
|
||||||
|
changelog = "//:CHANGELOG.md",
|
||||||
|
data = [
|
||||||
|
"10-kubeadm.conf",
|
||||||
|
"//cmd/kubeadm",
|
||||||
|
],
|
||||||
|
spec_file = "kubeadm.spec",
|
||||||
|
version_file = "//build:os_package_version",
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_rpm(
|
||||||
|
name = "kubernetes-cni",
|
||||||
|
changelog = "//:CHANGELOG.md",
|
||||||
|
data = [
|
||||||
|
"@kubernetes_cni//file",
|
||||||
|
],
|
||||||
|
spec_file = "kubernetes-cni.spec",
|
||||||
|
version_file = "//build:os_package_version",
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [":package-srcs"],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
)
|
24
build/rpms/kubeadm.spec
Normal file
24
build/rpms/kubeadm.spec
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
Name: kubeadm
|
||||||
|
Version: OVERRIDE_THIS
|
||||||
|
Release: 00
|
||||||
|
License: ASL 2.0
|
||||||
|
Summary: Container Cluster Manager
|
||||||
|
Requires: kubelet >= %{version}
|
||||||
|
Requires: kubectl >= %{version}
|
||||||
|
Requires: kubernetes-cni
|
||||||
|
|
||||||
|
URL: https://kubernetes.io
|
||||||
|
|
||||||
|
%description
|
||||||
|
Command-line utility for administering a Kubernetes cluster.
|
||||||
|
|
||||||
|
%install
|
||||||
|
install -m 755 -d %{buildroot}%{_bindir}
|
||||||
|
install -m 755 -d %{buildroot}%{_sysconfdir}/systemd/system/
|
||||||
|
install -m 755 -d %{buildroot}%{_sysconfdir}/systemd/system/kubelet.service.d/
|
||||||
|
install -p -m 755 -t %{buildroot}%{_bindir} kubeadm
|
||||||
|
install -p -m 755 -t %{buildroot}%{_sysconfdir}/systemd/system/kubelet.service.d/ 10-kubeadm.conf
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{_bindir}/kubeadm
|
||||||
|
%{_sysconfdir}/systemd/system/kubelet.service.d/10-kubeadm.conf
|
18
build/rpms/kubectl.spec
Normal file
18
build/rpms/kubectl.spec
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Name: kubectl
|
||||||
|
Version: OVERRIDE_THIS
|
||||||
|
Release: 00
|
||||||
|
License: ASL 2.0
|
||||||
|
Summary: Container Cluster Manager
|
||||||
|
|
||||||
|
URL: https://kubernetes.io
|
||||||
|
|
||||||
|
%description
|
||||||
|
Command-line utility for interacting with a Kubernetes cluster.
|
||||||
|
|
||||||
|
%install
|
||||||
|
|
||||||
|
install -m 755 -d %{buildroot}%{_bindir}
|
||||||
|
install -p -m 755 -t %{buildroot}%{_bindir} kubectl
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{_bindir}/kubectl
|
12
build/rpms/kubelet.service
Normal file
12
build/rpms/kubelet.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=kubelet: The Kubernetes Node Agent
|
||||||
|
Documentation=http://kubernetes.io/docs/
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/kubelet
|
||||||
|
Restart=always
|
||||||
|
StartLimitInterval=0
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
31
build/rpms/kubelet.spec
Normal file
31
build/rpms/kubelet.spec
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
Name: kubelet
|
||||||
|
Version: OVERRIDE_THIS
|
||||||
|
Release: 00
|
||||||
|
License: ASL 2.0
|
||||||
|
Summary: Container Cluster Manager
|
||||||
|
|
||||||
|
URL: https://kubernetes.io
|
||||||
|
|
||||||
|
Requires: iptables >= 1.4.21
|
||||||
|
Requires: kubernetes-cni >= 0.5.1
|
||||||
|
Requires: socat
|
||||||
|
Requires: util-linux
|
||||||
|
Requires: ethtool
|
||||||
|
Requires: iproute
|
||||||
|
Requires: ebtables
|
||||||
|
|
||||||
|
%description
|
||||||
|
The node agent of Kubernetes, the container cluster manager.
|
||||||
|
|
||||||
|
%install
|
||||||
|
|
||||||
|
install -m 755 -d %{buildroot}%{_bindir}
|
||||||
|
install -m 755 -d %{buildroot}%{_sysconfdir}/systemd/system/
|
||||||
|
install -m 755 -d %{buildroot}%{_sysconfdir}/kubernetes/manifests/
|
||||||
|
install -p -m 755 -t %{buildroot}%{_bindir} kubelet
|
||||||
|
install -p -m 755 -t %{buildroot}%{_sysconfdir}/systemd/system/ kubelet.service
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{_bindir}/kubelet
|
||||||
|
%{_sysconfdir}/systemd/system/kubelet.service
|
||||||
|
%{_sysconfdir}/kubernetes/manifests/
|
23
build/rpms/kubernetes-cni.spec
Normal file
23
build/rpms/kubernetes-cni.spec
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Name: kubernetes-cni
|
||||||
|
Version: OVERRIDE_THIS
|
||||||
|
Release: 00
|
||||||
|
License: ASL 2.0
|
||||||
|
Summary: Container Cluster Manager
|
||||||
|
|
||||||
|
URL: https://kubernetes.io
|
||||||
|
|
||||||
|
%description
|
||||||
|
Binaries required to provision container networking.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
tar xzfv cni-*.tar.gz
|
||||||
|
|
||||||
|
%install
|
||||||
|
|
||||||
|
install -m 755 -d %{buildroot}%{_sysconfdir}/cni/net.d/
|
||||||
|
install -m 755 -d %{buildroot}/opt/cni
|
||||||
|
mv bin/ %{buildroot}/opt/cni/
|
||||||
|
|
||||||
|
%files
|
||||||
|
/opt/cni
|
||||||
|
%{_sysconfdir}/cni/net.d/
|
@ -40,6 +40,7 @@ package_group(
|
|||||||
packages = [
|
packages = [
|
||||||
"//build",
|
"//build",
|
||||||
"//build/debs",
|
"//build/debs",
|
||||||
|
"//build/rpms",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user