k3s/cluster/images/hyperkube
Davanum Srinivas f2959ab2b0 Support containerized kubelet in CI
* Adjust hyperkube Makefile to allow HYPERKUBE_BIN to be
    specified from outside

  * new DOCKER_ROOT variable to specify --root-dir and associated
    volume for kubelet to know where docker directory lives

  * Save the docker logs when we kill the kubelet container

  * Allow customized image for dockerized kubelet and build a Default
    image if one is not specified

  We should allow a custom build using script we have:
  `VERSION="latest" REGISTRY="k8s.gcr.io" hack/dev-push-hyperkube.sh`

  to be used quickly using DOCKERIZE_KUBELET. To do this we remove the
  hard coded `k8s.gcr.io/kubelet` image and introduce a new environment
  variable `KUBELET_IMAGE`.

  Note that we are switching to hyperkube from kubelet as we have a quick
  and easy script to build hyperkube image and load it into local docker
  daemon. This reduces bad hacks like `docker tag
  k8s.gcr.io/hyperkube-amd64:<tag> k8s.gcr.io/kubelet:latest` being used
  by folks today (see 62057)

  * Better cope with PID 0 when running "docker inspect" to look for
    the process id for kubelet container
2018-04-24 10:19:50 -04:00
..
BUILD Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
Dockerfile cluster/images/hyperkube: Fix typo in Dockerfile for aggregator symlink 2018-02-15 17:44:02 -05:00
Makefile Support containerized kubelet in CI 2018-04-24 10:19:50 -04:00
OWNERS Add ixdy, luxas, and mikedanese as OWNERS of hyperkube image 2018-03-28 10:52:41 -07:00
README.md Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00

README.md

hyperkube

hyperkube is an all-in-one binary for the Kubernetes server components hyperkube is built for multiple architectures and the image is pushed automatically on every release.

How to release by hand

# First, build the binaries
$ build/run.sh make cross

# Build for linux/amd64 (default)
# export REGISTRY=$HOST/$ORG to switch from staging-k8s.gcr.io

$ make push VERSION={target_version} ARCH=amd64
# ---> staging-k8s.gcr.io/hyperkube-amd64:VERSION
# ---> staging-k8s.gcr.io/hyperkube:VERSION (image with backwards-compatible naming)

$ make push VERSION={target_version} ARCH=arm
# ---> staging-k8s.gcr.io/hyperkube-arm:VERSION

$ make push VERSION={target_version} ARCH=arm64
# ---> staging-k8s.gcr.io/hyperkube-arm64:VERSION

$ make push VERSION={target_version} ARCH=ppc64le
# ---> staging-k8s.gcr.io/hyperkube-ppc64le:VERSION

$ make push VERSION={target_version} ARCH=s390x
# ---> staging-k8s.gcr.io/hyperkube-s390x:VERSION

If you don't want to push the images, run make or make build instead

Analytics