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 等命令检查状态。