1. docker 驱动

Docker 驱动允许你将 Kubernetes 安装到现有的 Docker 服务上。在 Linux 系统中,这不需要启用虚拟化。

Docker 驱动运行的容器是基于 Docker in Docker 技术,minikube 提供 kicbase 基础镜像

1.1. 依赖要求

1.2. 使用

使用 docker 驱动启动集群:

minikube start --driver=docker

让 docker 成为默认驱动程序:

minikube config set driver docker

1.3. 非 root Docker

1.3.1. 依赖要求

1.3.2. 使用

使用非 root docker 驱动启动集群:

dockerd-rootless-setuptool.sh install -f
docker context use rootless

minikube start --driver=docker --container-runtime=containerd

--container-runtime 标记必须设置为 "containerd" 或 "cri-o".

The restrictions of rootless kind apply to minikube with rootless docker as well.

See https://kind.sigs.k8s.io/docs/user/rootless/ .

1.4. 特性

  • 跨平台 (linux, macOS, Windows)
  • 在 Linux 上运行时不依赖虚拟化
  • 在 Windows10 上支持实验特性功能 WSL2

1.5. 已知问题

  • 以下 Docker 运行时安全选项目前 不支持,将无法与Docker驱动程序一起工作 (#9607):

  • 在 macOS 上,容器可能会挂起,需要重新启动 Docker for Desktop。 See docker/for-mac#1835

  • ingressingress-dns 插件当前只支持 Linux。 See #7332

  • 在 Windows WSL2 中 (experimental - see #5392), 需要运行:

    sudo mkdir /sys/fs/cgroup/systemd && sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd.

1.6. Troubleshooting

1.6.1. 验证 Docker 容器类型为 Linux

  • 在 Windows 上,确保 Docker Desktop 的容器类型设置为 Linux 而不是 Windows。 see docker docs on switching container type.

你可以通过运行 Docker 容器来验证你的 Docker 容器类型:

docker info --format '{{.OSType}}'

1.6.2. 运行日志

  • 运行 --alsologtostderr -v=1 输出调试信息

1.6.3. 使用 AppArmor 在 linux 上部署 MySql

在 Linux 操作系统上,如果你想运行 MySQL pod,你需要为 MySQL 配置文件禁用 AppArmor.

如果你的 docker 启用了 AppArmor , 在 docker 驱动程序的特权模式下运行 mysql 将会有这个问题 #7401.

该问题的处理方法,见moby/moby#7512.

Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2022-06-26 10:09:30

results matching ""

    No results matching ""