add Dockerfile for kic images

pull/6151/head
Medya Gh 2019-12-22 22:19:52 -08:00
parent 618b150bcd
commit 77394db9aa
6 changed files with 20 additions and 32 deletions

View File

@ -591,6 +591,12 @@ out/mkcmp:
out/performance-monitor:
GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o $@ cmd/performance/monitor/monitor.go
.PHONY: build-kic-image
build-kic-image:
docker rmi -f medyagh/kicbase:v0.0.1-snapshot || true
docker build -f ./hack/kic.Dockerfile -t medyagh/kicbase:v0.0.1-snapshot --build-arg COMMIT_SHA=${VERSION}-$(COMMIT) .
.PHONY: help
help:
@printf "\033[1mAvailable targets for minikube ${VERSION}\033[21m\n"

7
hack/kic.Dockerfile Normal file
View File

@ -0,0 +1,7 @@
ARG COMMIT_SHA
FROM kindest/node:v1.16.2
RUN apt-get update && apt-get install -y \
sudo \
dnsutils \
&& rm -rf /var/lib/apt/lists/*
RUN echo "kic! ${TRAVIS_COMMIT}-${KUBE_VER}" > "/kic.txt"

View File

@ -259,31 +259,8 @@ func (d *Driver) nodeID(nameOrID string) (string, error) {
return string(id), err
}
func ImageForVersion(ver string) (string, error) {
switch ver {
case "v1.11.10":
return "medyagh/kic:v1.11.10@sha256:23bb7f5e8dd2232ec829132172e87f7b9d8de65269630989e7dac1e0fe993b74", nil
case "v1.12.8":
return "medyagh/kic:v1.12.8@sha256:c74bc5f3efe3539f6e1ad7f11bf7c09f3091c0547cb28071f4e43067053e5898", nil
case "v1.12.9":
return "medyagh/kic:v1.12.9@sha256:ff82f58e18dcb22174e8eb09dae14f7edd82d91a83c7ef19e33298d0eba6a0e3", nil
case "v1.12.10":
return "medyagh/kic:v1.12.10@sha256:2d174bae7c20698e59791e7cca9b6db234053d1a92a009d5bb124e482540c70b", nil
case "v1.13.6":
return "medyagh/kic:v1.13.6@sha256:cf63e50f824fe17b90374d38d64c5964eb9fe6b3692669e1201fcf4b29af4964", nil
case "v1.13.7":
return "medyagh/kic:v1.13.7@sha256:1a6a5e1c7534cf3012655e99df680496df9bcf0791a304adb00617d5061233fa", nil
case "v1.14.3":
return "medyagh/kic:v1.14.3@sha256:cebec21f6af23d5dfa3465b88ddf4a1acb94c2c20a0a6ff8cc1c027b0a4e2cec", nil
case "v1.15.0":
return "medyagh/kic:v1.15.0@sha256:40d433d00a2837c8be829bd3cb0576988e377472062490bce0b18281c7f85303", nil
case "v1.15.3":
return "medyagh/kic:v1.15.3@sha256:f05ce52776a86c6ead806942d424de7076af3f115b0999332981a446329e6cf1", nil
case "v1.16.1":
return "medyagh/kic:v1.16.1@sha256:e74530d22e6a04442a97a09bdbba885ad693fcc813a0d1244da32666410d1ad1", nil
case "v1.16.2":
return "medyagh/kic:v1.16.2@sha256:3374a30971bf5b0011441a227fa56ef990b76125b36ca0ab8316a3c7e4f137a3", nil
default:
return "medyagh/kic:v1.16.2@sha256:3374a30971bf5b0011441a227fa56ef990b76125b36ca0ab8316a3c7e4f137a3", nil
}
// BaseImage returns the image used to spin up containers. in the future might pin down nodes per version
func BaseImage() (string, error) {
return "medyagh/kicbase:v0.0.1-snapshot", nil
// return "medyagh/kicbase:v0.0.1-snapshot@sha256:fdd103eae33f92673fb13da81104b67576b43ab2affc7855deda596878215a61", nil
}

View File

@ -358,7 +358,7 @@ func CreateContainer(ociBinary string, image string, opts ...CreateOpt) ([]strin
// 125
if err != nil {
return output, errors.Wrapf(err, "CreateContainer %v ", args)
return output, errors.Wrapf(err, "args: %v output: %s ", args, output)
}
return output, nil
}

View File

@ -203,7 +203,6 @@ func (k *Bootstrapper) StartCluster(k8s config.KubernetesConfig) error {
glog.Infof("Older Kubernetes release detected (%s), disabling SystemVerification check.", version)
ignore = append(ignore, "SystemVerification")
}
// TODO:medyagh delete this temp work arround
rr, err := k.c.RunCmd(exec.Command("rm", "-f", "/usr/bin/kubeadm"))
fmt.Printf("Deleting kics kubeadm %s %v \n ", rr.Output(), err)
@ -211,6 +210,7 @@ func (k *Bootstrapper) StartCluster(k8s config.KubernetesConfig) error {
fmt.Printf("Deleting kics kubelet %s %v \n", rr.Output(), err)
c := exec.Command("/bin/bash", "-c", fmt.Sprintf("%s init --config %s %s --ignore-preflight-errors=%s", bsutil.InvokeKubeadm(k8s.KubernetesVersion), bsutil.KubeadmYamlPath, extraFlags, strings.Join(ignore, ",")))
glog.Infof("starting kubeadm init")
if rr, err := k.c.RunCmd(c); err != nil {
return errors.Wrapf(err, "init failed. cmd: %q output: %q", rr.Command(), rr.Output())
}
@ -353,7 +353,6 @@ func (k *Bootstrapper) GetAPIServerStatus(net.IP, int) (string, error) {
return "", fmt.Errorf("the GetAPIServerStatus is not implemented in kicbs yet")
}
// TODO:medyagh use the kapi package for this
// client sets and returns a Kubernetes client to use to speak to a kubeadm launched apiserver
func (k *Bootstrapper) client(k8s config.KubernetesConfig) (*kubernetes.Clientset, error) {
if k.k8sClient != nil {
@ -365,7 +364,6 @@ func (k *Bootstrapper) client(k8s config.KubernetesConfig) (*kubernetes.Clientse
return nil, errors.Wrap(err, "client config")
}
// TODO:medyagh maybe for liux machines we could use container ip
endpoint := fmt.Sprintf("https://%s", net.JoinHostPort("127.0.0.1", fmt.Sprint(k8s.HostBindPort)))
if config.Host != endpoint {
glog.Errorf("Overriding stale ClientConfig host %s with %s", config.Host, endpoint)

View File

@ -43,7 +43,7 @@ func init() {
}
func configure(mc config.MachineConfig) interface{} {
img, err := kic.ImageForVersion(mc.KubernetesConfig.KubernetesVersion)
img, err := kic.BaseImage()
if err != nil {
glog.Errorf("err to getting kic image for %s: imgesha:%s", img, mc.KubernetesConfig.KubernetesVersion)
}