Kubernetes 的 MySQL 运算符  / 第 5 章私人登记处  /  5.1 使用 Helm 从私有注册表安装 MySQL Operator for Kubernetes

5.1 使用 Helm 从私有注册表安装 MySQL Operator for Kubernetes

如果私有registry未认证,将MySQL Operator for Kubernetes镜像推送到你的私有registry后,在安装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"

Authenticated private registry 需要为 MySQL Operator for Kubernetes 创建一个命名空间,同时在命名空间中添加一个 Kubernetes docker-registry secret;然后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 $NAMESPACE要确认安装,请使用 和等 命令检查状态kubectl -n $NAMESPACE get pods