MySQL Kubernetes 操作器手冊  /  私有註冊表  /  使用 Helm 從私有註冊表安裝 MySQL Kubernetes 操作器

6.1 使用 Helm 從私有註冊表安裝 MySQL Kubernetes 操作器

如果私有註冊表未經過身份驗證,並且在將 MySQL Kubernetes 操作器的映像推送至您的私有註冊表之後,請在安裝 helm 的主機上執行以下操作;並根據需要調整變數值

export REGISTRY="..."   # like 192.168.20.199:5000
export REPOSITORY="..." # like "mysql"
export NAMESPACE="mysql-operator"
helm install mysql-operator helm/mysql-operator \
    --namespace $NAMESPACE \
    --create-namespace \
    --set image.registry=$REGISTRY \
    --set image.repository=$REPOSITORY \
    --set envs.imagesDefaultRegistry="$REGISTRY" \
    --set envs.imagesDefaultRepository="$REPOSITORY"

經過身份驗證的私有註冊表需要為 MySQL Kubernetes 操作器建立一個命名空間,並在該命名空間中新增一個 Kubernetes docker-registry 密鑰;然後執行 helm install 並使用類似以下的參數

export REGISTRY="..."   # like 192.168.20.199:5000
export REPOSITORY="..." # like "mysql"
export NAMESPACE="mysql-operator"
export DOCKER_SECRET_NAME="priv-reg-secret"

kubectl create namespace $NAMESPACE

kubectl -n $NAMESPACE create secret docker-registry $DOCKER_SECRET_NAME \
        --docker-server="https://$REGISTRY/v2/" \
        --docker-username=user --docker-password=pass \
        --docker-email=user@example.com

helm install mysql-operator helm/mysql-operator \
        --namespace $NAMESPACE \
        --set image.registry=$REGISTRY \
        --set image.repository=$REPOSITORY \
        --set image.pullSecrets.enabled=true \
        --set image.pullSecrets.secretName=$DOCKER_SECRET_NAME \
        --set envs.imagesPullPolicy='IfNotPresent' \
        --set envs.imagesDefaultRegistry="$REGISTRY" \
        --set envs.imagesDefaultRepository="$REPOSITORY"

要確認安裝,請使用 helm list -n $NAMESPACEkubectl -n $NAMESPACE get pods 等命令檢查狀態。