| |
@@ -38,7 +38,7 @@
|
| |
##############################################
|
| |
Name: %{k8s_name}
|
| |
Version: %{k8s_ver}
|
| |
- Release: 5%{?dist}
|
| |
+ Release: %autorelease
|
| |
Summary: Open Source Production-Grade Container Scheduling And Management Platform
|
| |
License: ASL 2.0
|
| |
URL: https://%{import_path}
|
| |
@@ -58,17 +58,18 @@
|
| |
Source111: environ-proxy
|
| |
Source112: environ-scheduler
|
| |
Source113: kubernetes-accounting.conf
|
| |
- Source114: kubeadm.conf
|
| |
+ Source114: 10-kubeadm.conf
|
| |
Source115: kubernetes.conf
|
| |
Source116: %{repo}.sysusers
|
| |
|
| |
Patch3: build-with-debug-info.patch
|
| |
|
| |
##############################################
|
| |
- # main package components - installs kubelet, kubeadm and necessary
|
| |
- # configuration files. Recommends kubernetes-client.
|
| |
+ # main package components - installs kubelet and necessary
|
| |
+ # configuration files. Recommends kubernetes-client and
|
| |
+ # kubernetes-kubeadm.
|
| |
|
| |
- # build requirements for kubelet, kubeadm
|
| |
+ # build requirements for kubelet
|
| |
BuildRequires: golang >= %{golangver}
|
| |
BuildRequires: make
|
| |
BuildRequires: go-md2man
|
| |
@@ -88,30 +89,48 @@
|
| |
Requires(pre): shadow-utils
|
| |
Requires: socat
|
| |
Recommends: %{name}-client = %{version}-%{release}
|
| |
+ Recommends: %{name}-kubeadm = %{version}-%{release}
|
| |
|
| |
- # additional kubeadm requirements
|
| |
- Requires: containernetworking-plugins
|
| |
- Requires: cri-tools
|
| |
+ # require same version for kubernetes-kubeadm if installed
|
| |
+ Conflicts: %{name}-kubeadm < %{version}-%{release}
|
| |
+ Conflicts: %{name}-kubeadm > %{version}-%{release}
|
| |
|
| |
# require same version for kubernetes-client if installed
|
| |
Conflicts: %{name}-client < %{version}-%{release}
|
| |
Conflicts: %{name}-client > %{version}-%{release}
|
| |
|
| |
# provides and obsoletes kubernetes-node and kubernetes-kubeadm
|
| |
- Provides: kubernetes-kubeadm = %{version}-%{release}
|
| |
- Obsoletes: kubernetes-kubeadm < %{switchver}
|
| |
Provides: kubernetes-node = %{version}-%{release}
|
| |
Obsoletes: kubernetes-node < %{switchver}
|
| |
|
| |
%description
|
| |
%{summary}
|
| |
- Installs kubeadm and kubelet, the two basic components needed to
|
| |
- bootstrap, and run a cluster. The kubernetes-client sub-package,
|
| |
+ Installs kubelet, the kubernetes agent on each machine in a
|
| |
+ cluster. The kubernetes-client sub-package,
|
| |
containing kubectl, is recommended but not strictly required.
|
| |
The kubernetes-client sub-package should be installed on
|
| |
control plane machines.
|
| |
|
| |
##############################################
|
| |
+ %package kubeadm
|
| |
+ Summary: Kubernetes tool for standing up clusters
|
| |
+ Requires: kubernetes = %{version}-%{release}
|
| |
+
|
| |
+ BuildRequires: golang >= %{golangver}
|
| |
+ BuildRequires: systemd
|
| |
+ Requires: containernetworking-plugins
|
| |
+ Requires: cri-tools
|
| |
+
|
| |
+ # require same version for kubernetes
|
| |
+ Conflicts: %{name} < %{version}-%{release}
|
| |
+ Conflicts: %{name} > %{version}-%{release}
|
| |
+
|
| |
+ %description kubeadm
|
| |
+ Kubernetes tool for standing up clusters. Not mandatory. If used,
|
| |
+ install on each machine in the cluster. Used to initialize each node,
|
| |
+ and to join new machines to an existing cluster.
|
| |
+
|
| |
+ ##############################################
|
| |
%package client
|
| |
Summary: Kubernetes client tools
|
| |
|
| |
@@ -204,10 +223,12 @@
|
| |
kube::golang::setup_env
|
| |
|
| |
export KUBE_GIT_TREE_STATE="clean"
|
| |
- export KUBE_GIT_COMMIT=%{commit}
|
| |
- export KUBE_GIT_VERSION=v{version}
|
| |
+ export KUBE_GIT_VERSION=v%{version}
|
| |
export KUBE_EXTRA_GOPATH=$(pwd)/Godeps/_workspace
|
| |
|
| |
+ # Use pie buildmode
|
| |
+ export GOFLAGS="-buildmode=pie"
|
| |
+
|
| |
# Build each binary separately to generate a unique build-id.
|
| |
# Otherwise: Duplicate build-ids /builddir/build/BUILDROOT/.../usr/bin/kube-apiserver and /builddir/build/BUILDROOT/.../usr/bin/kubeadm
|
| |
make WHAT="cmd/kube-proxy"
|
| |
@@ -345,12 +366,15 @@
|
| |
%{_tmpfilesdir}/kubernetes.conf
|
| |
%verify(not size mtime md5) %attr(755, kube,kube) %dir /run/%{repo}
|
| |
|
| |
- # kubeadm
|
| |
+ ##############################################
|
| |
+ %files kubeadm
|
| |
+ %license LICENSE
|
| |
+ %doc *.md
|
| |
%{_mandir}/man1/kubeadm.1*
|
| |
%{_mandir}/man1/kubeadm-*
|
| |
%{_bindir}/kubeadm
|
| |
%dir %{_unitdir}/kubelet.service.d
|
| |
- %config(noreplace) %{_unitdir}/kubelet.service.d/kubeadm.conf
|
| |
+ %{_unitdir}/kubelet.service.d/10-kubeadm.conf
|
| |
|
| |
##############################################
|
| |
%files client
|
| |
Restores kubernetes-kubeadm rpm. Corrects kube related build flags used by kubernetes makefile. Add PIE goflag.