首页 > 解决方案 > minikube部署mysql失败...镜像拉取失败..ubuntu环境

问题描述

我正在尝试在 minikube 集群中部署 mysql。但它失败了,因为它无法从 dockerhub 注册表中提取图像。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - image: mysql:latest
        name: mysql

但令人惊讶的是,当我尝试在同一个 minikube 中部署自己开发的映像时,它正在正确部署

apiVersion: apps/v1
kind: Deployment
metadata:
  name: xxx
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: xxx
      version: 'v1'
  template:
    metadata:
      labels:
        app: xxx
        version: 'v1'
    spec:
      containers:
        - name: opaapp
          image: registry.hub.docker.com/***/xxx:latest

无法理解在 minikube 中部署 MySQL 需要配置什么

标签: mysqlkubernetesdeploymentproxyminikube

解决方案


假设您使用的是最新版本的 minikube,并跳过与网络相关的错误,我尝试在 minikube v1.11.0 中部署您的清单,我看到以下内容:

2020-06-05 11:48:44+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
    You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

如果您将 yml 文件更改为:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - image: mysql:latest
        name: mysql
        env:
        - name: MYSQL_ALLOW_EMPTY_PASSWORD
          value: "True"

你该走了。


推荐阅读