Skip to main content
Version: v1.3.0

Offline Installation

If your cluster does not have direct access to the external network, you can use offline deployment to install HAMi

Prepare your images

You need to save the following images into a tarball and copy it into the cluster. Image list:

projecthami/hami:{HAMi version} 
docker.io/jettech/kube-webhook-certgen:v1.5.2
liangjw/kube-webhook-certgen:v1.1.1
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:{your kubernetes version}

Load these images, tag these images with your inner registry, and push them into your registry

docker load -i {HAMi_image}.tar
docker tag projecthami/hami:{HAMi version} {your_inner_registry}/hami:{HAMi version}
docker push {your_inner_registry}/hami:{HAMi version}
docker tag docker.io/jettech/kube-webhook-certgen:v1.5.2 {your inner_regisry}/kube-webhook-certgen:v1.5.2
docker push {your inner_regisry}/kube-webhook-certgen:v1.5.2
docker tag liangjw/kube-webhook-certgen:v1.1.1 {your_inner_registry}/kube-webhook-certgen:v1.1.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:{your kubernetes version} {your_inner_registry}/kube-scheduler:{your kubernetes version}
docker push {your_inner_registry}/kube-scheduler:{your kubernetes version}

Prepare HAMi chart

Download the charts folder from github, place it into ${CHART_PATH} inside cluser, then edit the following fields in ${CHART_PATH}/hami/values.yaml.

scheduler.kubeScheduler.image
scheduler.extender.image
scheduler.patch.image
scheduler.patch.imageNew
scheduler.devicePlugin.image
scheduler.devicePlugin.monitorimage

Execute the following command in your ${CHART_PATH} folder

helm install hami hami --set scheduler.kubeScheduler.imageTag={your k8s server version} -n kube-system
  1. Verify your installation

execute the following command

kubectl get pods -n kube-system

If you can see both the 'device-plugin' and 'schduler' running, then HAMi is installed successfully,