* Create kubernetes container images and rpm for metrics-server
Change-Id: If50871e1efbfa604cea9baa6a958d7a1b73b80ca
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/5343
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Sharath George
| ... | ... |
@@ -437,6 +437,7 @@ k8s-docker-images: start-docker photon-docker-image |
| 437 | 437 |
cd ./support/dockerfiles/k8s-docker-images && \ |
| 438 | 438 |
./build-k8s-base-image.sh $(PHOTON_RELEASE_VERSION) $(PHOTON_BUILD_NUMBER) $(PHOTON_STAGE) && \ |
| 439 | 439 |
./build-k8s-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
| 440 |
+ ./build-k8s-metrics-server-image.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
|
| 440 | 441 |
./build-k8s-dns-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
| 441 | 442 |
./build-k8s-dashboard-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
| 442 | 443 |
./build-flannel-docker-image.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
| 443 | 444 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,52 @@ |
| 0 |
+Summary: Kubernetes Metrics Server |
|
| 1 |
+Name: kubernetes-metrics-server |
|
| 2 |
+Version: 0.2.1 |
|
| 3 |
+Release: 1%{?dist}
|
|
| 4 |
+License: Apache License 2.0 |
|
| 5 |
+URL: https://github.com/kubernetes-incubator/metrics-server/%{name}-%{version}.tar.gz
|
|
| 6 |
+Source0: %{name}-%{version}.tar.gz
|
|
| 7 |
+%define sha1 kubernetes-metrics-server-%{version}.tar.gz=ac18b1360aede4647c9dbaa72bddf735b228daf3
|
|
| 8 |
+Group: Development/Tools |
|
| 9 |
+Vendor: VMware, Inc. |
|
| 10 |
+Distribution: Photon |
|
| 11 |
+BuildRequires: go |
|
| 12 |
+ |
|
| 13 |
+%description |
|
| 14 |
+In Kubernetes, resource usage metrics, such as container CPU and memory usage, are available through the Metrics API. |
|
| 15 |
+These metrics can be either accessed directly by user, for example by using kubectl top command, or used by a controller |
|
| 16 |
+in the cluster, e.g. Horizontal Pod Autoscaler, to make decisions. |
|
| 17 |
+ |
|
| 18 |
+%prep -p exit |
|
| 19 |
+%setup -qn metrics-server-%{version}
|
|
| 20 |
+ |
|
| 21 |
+%build |
|
| 22 |
+export ARCH=amd64 |
|
| 23 |
+export VERSION=%{version}
|
|
| 24 |
+export PKG=k8s.io/dns |
|
| 25 |
+export GOARCH=${ARCH}
|
|
| 26 |
+export GOHOSTARCH=${ARCH}
|
|
| 27 |
+export GOOS=linux |
|
| 28 |
+export GOHOSTOS=linux |
|
| 29 |
+export GOROOT=/usr/lib/golang |
|
| 30 |
+export GOPATH=/usr/share/gocode |
|
| 31 |
+export CGO_ENABLED=0 |
|
| 32 |
+mkdir -p ${GOPATH}/src/github.com/kubernetes-incubator/metrics-server
|
|
| 33 |
+cp -r * ${GOPATH}/src/github.com/kubernetes-incubator/metrics-server/
|
|
| 34 |
+pushd ${GOPATH}/src/github.com/kubernetes-incubator/metrics-server
|
|
| 35 |
+make build |
|
| 36 |
+ |
|
| 37 |
+%install |
|
| 38 |
+install -m 755 -d %{buildroot}%{_bindir}
|
|
| 39 |
+install -pm 755 -t %{buildroot}%{_bindir} ${GOPATH}/src/github.com/kubernetes-incubator/metrics-server/metrics-server
|
|
| 40 |
+ |
|
| 41 |
+ |
|
| 42 |
+%clean |
|
| 43 |
+rm -rf %{buildroot}/*
|
|
| 44 |
+ |
|
| 45 |
+%files |
|
| 46 |
+%defattr(-,root,root) |
|
| 47 |
+%{_bindir}/metrics-server
|
|
| 48 |
+ |
|
| 49 |
+%changelog |
|
| 50 |
+* Tue Jul 10 2018 Dheeraj Shetty <dheerajs@vmware.com> 0.2.1-1 |
|
| 51 |
+- kubernetes-metrics-server 0.2.1 |
| 0 | 7 |
new file mode 100755 |
| ... | ... |
@@ -0,0 +1,43 @@ |
| 0 |
+#!/bin/bash -e |
|
| 1 |
+ |
|
| 2 |
+DIST_TAG=$1 |
|
| 3 |
+DIST_VER=$2 |
|
| 4 |
+SPEC_DIR=$3 |
|
| 5 |
+STAGE_DIR=$4 |
|
| 6 |
+ARCH=x86_64 |
|
| 7 |
+ |
|
| 8 |
+# |
|
| 9 |
+# Docker images for kubernetes-metrics-server |
|
| 10 |
+# |
|
| 11 |
+K8S_MET_SERV_VER=`cat ${SPEC_DIR}/kubernetes-metrics-server/kubernetes-metrics-server.spec | grep Version | cut -d: -f2 | tr -d ' '`
|
|
| 12 |
+K8S_MET_SERV_VER_REL=${K8S_MET_SERV_VER}-`cat ${SPEC_DIR}/kubernetes-metrics-server/kubernetes-metrics-server.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
|
|
| 13 |
+K8S_MET_SERV_RPM=kubernetes-metrics-server-${K8S_MET_SERV_VER_REL}${DIST_TAG}.${ARCH}.rpm
|
|
| 14 |
+K8S_MET_SERV_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${K8S_MET_SERV_RPM}
|
|
| 15 |
+K8S_MET_SERV_TAR=kubernetes-metrics-server-v${K8S_MET_SERV_VER_REL}.tar
|
|
| 16 |
+ |
|
| 17 |
+if [ ! -f ${K8S_MET_SERV_RPM_FILE} ]
|
|
| 18 |
+then |
|
| 19 |
+ echo "Kubernetes Metrics Server RPM ${K8S_MET_SERV_RPM_FILE} not found. Exiting.."
|
|
| 20 |
+ exit 1 |
|
| 21 |
+fi |
|
| 22 |
+ |
|
| 23 |
+IMG_NAME=vmware/photon-${DIST_VER}-kubernetes-metrics-server-amd64:v${K8S_MET_SERV_VER}
|
|
| 24 |
+ |
|
| 25 |
+IMG_ID=`docker images -q ${IMG_NAME} 2> /dev/null`
|
|
| 26 |
+if [[ ! -z "${IMG_ID}" ]]; then
|
|
| 27 |
+ echo "Removing image ${IMG_NAME}"
|
|
| 28 |
+ docker rmi -f ${IMG_NAME}
|
|
| 29 |
+fi |
|
| 30 |
+ |
|
| 31 |
+mkdir -p tmp/k8smetserv |
|
| 32 |
+cp ${K8S_MET_SERV_RPM_FILE} tmp/k8smetserv/
|
|
| 33 |
+pushd ./tmp/k8smetserv |
|
| 34 |
+rpm2cpio ${K8S_MET_SERV_RPM} | cpio -vid
|
|
| 35 |
+popd |
|
| 36 |
+ |
|
| 37 |
+docker build --rm -t ${IMG_NAME} -f ./Dockerfile.metrics-server .
|
|
| 38 |
+docker save -o ${K8S_MET_SERV_TAR} ${IMG_NAME}
|
|
| 39 |
+gzip ${K8S_MET_SERV_TAR}
|
|
| 40 |
+mv -f ${K8S_MET_SERV_TAR}.gz ${STAGE_DIR}/docker_images/
|
|
| 41 |
+ |
|
| 42 |
+rm -rf ./tmp |