* 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
(cherry picked from commit 994e0f7a71d7d133990a7e09230fa28331b54548)
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/5367
Reviewed-by: Alexey Makhalov <amakhalov@vmware.com>
... | ... |
@@ -442,6 +442,7 @@ k8s-docker-images: start-docker photon-docker-image |
442 | 442 |
cd ./support/dockerfiles/k8s-docker-images && \ |
443 | 443 |
./build-k8s-base-image.sh $(PHOTON_RELEASE_VERSION) $(PHOTON_BUILD_NUMBER) $(PHOTON_STAGE) && \ |
444 | 444 |
./build-k8s-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
445 |
+ ./build-k8s-metrics-server-image.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
|
445 | 446 |
./build-k8s-dns-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
446 | 447 |
./build-k8s-dashboard-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
447 | 448 |
./build-flannel-docker-image.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
448 | 449 |
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 |