Update to 1.20.2

This commit is contained in:
Sergey Zhemoitel 2021-02-17 01:33:04 +03:00
parent c2bc30f6ce
commit 8ae6e73902
2 changed files with 65 additions and 59 deletions

View file

@ -1,2 +1,2 @@
sources:
kubernetes-1.13.11.tar.gz: c7df65ee06e563e373004809569f383b9b463262
kubernetes-1.20.2.tar.gz: 06d562409795c779a4826a71e50228f6eb969493

View file

@ -2,16 +2,19 @@
%define debug_package %nil
Name: kubernetes
Version: 1.13.11
Version: 1.20.2
Release: 1
Summary: Production-Grade Container Scheduling and Management
License: ASL 2.0
URL: https://kubernetes.io
Source0: %{name}-%{version}.tar.gz
Source0: https://github.com/kubernetes/kubernetes/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: https://raw.githubusercontent.com/kubernetes/release/master/packages/rpm/kubelet.service
Source2: https://raw.githubusercontent.com/kubernetes/release/master/packages/rpm/10-kubeadm-post-1.11.conf
Source3: https://raw.githubusercontent.com/kubernetes/release/master/packages/rpm/kubelet.env
Source1000: %{name}.rpmlintrc
Group: Development/Other
BuildRequires: golang >= 1.12.1
BuildRequires: git
BuildRequires: go >= 1.15
BuildRequires: git-core
BuildRequires: upx
%description
@ -19,6 +22,8 @@ Kubernetes is an open source system for managing containerized
applications across multiple hosts; providing basic mechanisms
for deployment, maintenance, and scaling of applications.
#------------------------------------------------------------
%package -n kubectl
Summary: Container Cluster Manager - Kubernetes client tools
@ -28,23 +33,22 @@ Command-line utility for interacting with a Kubernetes cluster
%files -n kubectl
%{_bindir}/kubectl
#------------------------------------------------------------
%package -n kubeadm
Summary: Container Cluster Manager - Kubernetes Cluster Bootstrapping Tool
Requires: kubelet >= 1.8.0
Requires: kubectl >= 1.8.0
Requires: cni-plugins >= 0.7.5
Requires: cri-tools >= 1.11.0
Summary: Command-line utility for administering a Kubernetes cluster
Requires: kubelet >= 1.20.0
Requires: kubectl >= 1.20.0
Requires: cni-plugins >= 0.8.6
Requires: cri-tools >= 1.20.0
%description -n kubeadm
Command-line utility for deploying a Kubernetes cluster
%files -n kubeadm
%{_bindir}/kubeadm
%{_sysconfdir}/systemd/kubelet.service.d/10-kubeadm.conf
%{_sysconfdir}/sysconfig/kubelet
%dir %{_libexecdir}/modules-load.d
%{_libexecdir}/modules-load.d/kubeadm.conf
%{_prefix}/lib/sysctl.d/50-kubeadm.conf
#------------------------------------------------------------
%package -n kubelet
Summary: Container Cluster Manager - Kubernetes Node Agent
@ -53,7 +57,7 @@ Requires: ebtables
Requires: ethtool
Requires: iproute
Requires: iptables >= 1.4.21
Requires: cni-plugins >= 0.7.5
Requires: cni-plugins >= 0.8.6
Requires: socat
Requires: util-linux
Requires: systemd
@ -63,78 +67,80 @@ The node agent of Kubernetes, the container cluster manager
%files -n kubelet
%{_bindir}/kubelet
%attr(644,-,-) %{_unitdir}/kubelet.service
%{_unitdir}/kubelet.service
%{_unitdir}/kubelet.service.d/10-kubeadm.conf
%{_sysconfdir}/kubernetes/manifests/
%{_sysconfdir}/sysconfig/kubelet
%package client
Summary: Kubernetes client tools
BuildRequires: golang >= 1.12.0
Requires: kubectl == %{version}
#------------------------------------------------------------
%description client
Kubernetes client tools like kubectl
%package tools
Summary: Kubernetes tools
%files client
%doc *.md LICENSE
%{_bindir}/hyperkube
%description tools
Kubernetes tools
%files tools
%{_bindir}/kube-*
#------------------------------------------------------------
%package docs
Summary: Kubernetes documentations
Summary: Documentation for Kubernetes
%description docs
Kubernetes documentations
Documentation for Kubernetes
%files docs
%doc docs/admin/*.md docs/user-guide/kubectl/*.md docs/yaml/kubectl/*.yaml docs/api-reference LICENSE
%doc docs/admin docs/user-guide docs/yaml README.md LICENSE
%{_mandir}/man1/*
#------------------------------------------------------------
%prep
%setup -q
%build
%define GOPATH $RPM_BUILD_DIR/go
GOPATH=%{GOPATH} make
#create docs
hack/update-generated-docs.sh
hack/generate-docs.sh
make all GOLDFLAGS="-s -w"
upx _output/bin/kubeadm
upx _output/bin/kubelet
upx _output/bin/kubectl
upx _output/bin/hyperkube
#upx _output/bin/kubeadm
#upx _output/bin/kubelet
#upx _output/bin/kubectl
#upx _output/bin/*
%install
#make install
install -dm0755 %{buildroot}%{_bindir}
install -dm0755 %{buildroot}%{_sysconfdir}/systemd/kubelet.service.d
install -dm0755 %{buildroot}%{_unitdir}/kubelet.service.d/
install -dm0755 %{buildroot}%{_sysconfdir}/sysconfig
install -dm0755 %{buildroot}%{_sysconfdir}/kubernetes/manifests
install -dm0755 %{buildroot}%{_sysconfdir}/sysconfig/kubelet
install -dm0755 %{buildroot}%{_sysconfdir}/cni/net.d
install -dm0755 %{buildroot}%{_libexecdir}/modules-load.d
install -dm0755 %{buildroot}/usr/lib/sysctl.d
install -dm0755 %{buildroot}%{_mandir}/man1
install -dm0755 %{buildroot}%{_unitdir}
# kubeadm
install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubeadm
install -p -m 0644 -t %{buildroot}%{_sysconfdir}/systemd/kubelet.service.d/ build/rpms/10-kubeadm.conf
install -p -m 0644 -T build/rpms/kubelet.env %{buildroot}%{_sysconfdir}/sysconfig/kubelet
install -p -m 0644 -t %{buildroot}%{_libexecdir}/modules-load.d/ build/rpms/kubeadm.conf
install -p -m 0644 -t %{buildroot}/usr/lib/sysctl.d/ build/rpms/50-kubeadm.conf
install -Dm0755 _output/bin/kubeadm %{buildroot}%{_bindir}/kubeadm
# kubelet
install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubelet
install -p -m 0644 build/rpms/kubelet.service %{buildroot}%{_unitdir}
install -Dm0755 _output/bin/kubelet %{buildroot}%{_bindir}/kubelet
install -Dm0644 %{SOURCE1} %{buildroot}%{_unitdir}/kubelet.service
install -Dm0644 %{SOURCE2} %{buildroot}%{_unitdir}/kubelet.service.d/10-kubeadm.conf
install -Dm0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/kubelet
# kubectl
install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubectl
install -Dm0755 _output/bin/kubectl %{buildroot}%{_bindir}/kubectl
# other bins
install -Dm0755 _output/bin/kube-* %{buildroot}%{_bindir}
# docs
install -p -m 0644 docs/man/man1/* %{buildroot}%{_mandir}/man1/
# client
install -p -m 0755 _output/bin/hyperkube %{buildroot}%{_bindir}
# fix perm docs
find docs/ -type f -exec chmod 0644 {} \;
install -Dm0644 docs/man/man1/* %{buildroot}%{_mandir}/man1
%files
%doc README.md LICENSE CHANGELOG-*.md
%doc README.md LICENSE LICENSES