mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +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",
|
||||
"//build/debs:all-srcs",
|
||||
"//build/release-tars:all-srcs",
|
||||
"//build/rpms:all-srcs",
|
||||
"//build/visible_to:all-srcs",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
@ -98,6 +99,18 @@ DOCKERIZED_BINARIES = {
|
||||
stamp = 1,
|
||||
) 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(
|
||||
name = "docker-artifacts",
|
||||
srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] +
|
||||
|
@ -1,6 +1,6 @@
|
||||
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: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 = [
|
||||
"//build",
|
||||
"//build/debs",
|
||||
"//build/rpms",
|
||||
],
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user