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
- 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,