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_registry}/kube-webhook-certgen:v1.5.2
docker push {your inner_registry}/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 cluster, 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 'scheduler' running, then HAMi is installed successfully,

CNCFHAMi is a CNCF Sandbox project