diff --git a/template/kubernetes-template.spec b/template/kubernetes-template.spec index f5070c7..193e53e 100644 --- a/template/kubernetes-template.spec +++ b/template/kubernetes-template.spec @@ -65,10 +65,11 @@ 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: conntrack-tools 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 @@ -345,12 +364,15 @@ fi %{_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/10-kubeadm.conf +%{_unitdir}/kubelet.service.d/10-kubeadm.conf ############################################## %files client