了解 Windows 上的 Minikube 如何 运行
Understand how Minikube on Windows is run
我正在尝试了解 Minikube 如何在 Windows 上 运行,以进行以下设置。下面有几个相关的问题,希望能帮助我从整体上理解它是如何工作的。
使用 minikube 配置文件列表,我得到以下输出。
C:\>minikube profile list
|----------|-----------|---------|--------------|------|---------|---------|-------|
| Profile | VM Driver | Runtime | IP | Port | Version | Status | Nodes |
|----------|-----------|---------|--------------|------|---------|---------|-------|
| minikube | docker | docker | 192.168.49.2 | 8443 | v1.20.7 | Running | 1 |
|----------|-----------|---------|--------------|------|---------|---------|-------|
这个 minikube 是一个容器 运行ning 使用我本地安装的 Docker 桌面吗?因此,它是在 WSL2 还是 Virtualbox 上 运行s 取决于我如何获得我的 Docker 桌面 运行?
如果我使用 minikube ssh,我可以在其中与 docker 进行交互。从下面的输出来看,是否意味着每个 minikube kubernetes 组件都是 运行 作为一个单独的容器?这是 docker-in-docker 的例子吗?
C:\>minikube ssh
Last login: Wed Nov 10 14:07:23 2021 from 192.168.49.1
docker@minikube:~$ docker ps --format '{{.Names}}'
k8s_storage-provisioner_storage-provisioner_kube-system_b7c766e9-48fe-45dd-a929-d6fd4b6fcf8b_0
k8s_POD_storage-provisioner_kube-system_b7c766e9-48fe-45dd-a929-d6fd4b6fcf8b_0
k8s_kube-proxy_kube-proxy-4r5hz_kube-system_71dc0877-5a47-4b2c-a106-ee41e5f6a142_0
k8s_coredns_coredns-74ff55c5b-pl7tb_kube-system_6cf31402-c3b4-4d86-8963-8a53e36b7878_0
k8s_POD_kube-proxy-4r5hz_kube-system_71dc0877-5a47-4b2c-a106-ee41e5f6a142_0
k8s_POD_coredns-74ff55c5b-pl7tb_kube-system_6cf31402-c3b4-4d86-8963-8a53e36b7878_0
k8s_kube-scheduler_kube-scheduler-minikube_kube-system_82ed17c7f4a56a29330619386941d47e_0
k8s_kube-apiserver_kube-apiserver-minikube_kube-system_01d7e312da0f9c4176daa8464d4d1a50_0
k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_c7b8fa13668654de8887eea36ddd7b5b_0
k8s_etcd_etcd-minikube_kube-system_c31fe6a5afdd142cf3450ac972274b36_0
k8s_POD_kube-scheduler-minikube_kube-system_82ed17c7f4a56a29330619386941d47e_0
k8s_POD_kube-controller-manager-minikube_kube-system_c7b8fa13668654de8887eea36ddd7b5b_0
k8s_POD_kube-apiserver-minikube_kube-system_01d7e312da0f9c4176daa8464d4d1a50_0
k8s_POD_etcd-minikube_kube-system_c31fe6a5afdd142cf3450ac972274b36_0
docker@minikube:~$
是minikube容器使用本地安装的Docker桌面吗?
Minikube是本地Kubernetes,专注于让Kubernetes易于学习和开发。
您只需要 Docker(或类似兼容的)容器或虚拟机环境,Kubernetes 只需一个命令:minikube start。
你需要什么?
- 2 个或更多 CPU
- 2GB 可用内存
- 20GB 可用磁盘space
- 互联网连接
- 容器或虚拟机管理器,例如:Docker、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox 或 VMware
我想指出最后一句话,你可以选择多个容器或虚拟机管理器。 Docker 是您可以选择的选项之一,并且根据您的 post,您当前的部署使用 Docker 作为管理程序。
运行是在 WSL2 还是 Virtualbox 上?
这里有一些关于 WSL2 和 Virtualbox 的信息,但是提供的关于你的环境的信息不足以确定你的部署是在 Virtualbox 还是 WSL2 中。
Virtualbox硬件虚拟化选项是允许处理器提供的虚拟化能力。这对嵌套虚拟化没有帮助。你可以在 Virtualbox 中 运行 in Docker 只要里面没有 hypervisor 运行ning。当我们在 Virtualbox 中 运行 Docker Linux 系统时就是这种情况。使用 Windows 服务器,他们 运行 hyperv 以及他们 运行 Windows 服务器,其中 Docker 运行s。这就是为什么这里需要嵌套虚拟化。
在 WSL 2 上使用 Docker 桌面 运行,用户可以利用 Linux 工作 space,避免同时维护 Linux 和 Windows 构建脚本。此外,WSL 2 改进了文件系统共享、启动时间,并允许 Docker 桌面用户访问一些很酷的新功能。
在安装 Docker Desktop WSL 2 后端之前,您必须完成以下步骤:
- 安装 Windows 10,版本 1903 或更高版本或 Windows 11。
- 在 Windows 上启用 WSL 2 功能。
- 下载并安装 Linux 内核更新包。
是否每个 minikube kubernetes 组件 运行 作为一个单独的容器?
Minikube 是一个实用程序,可用于 运行 本地计算机上的 Kubernetes。它创建包含在虚拟机 (VM) 中的单节点集群。该集群可让您演示 Kubernetes 操作,而无需耗费时间和资源安装成熟的 K8s。
这是basic concepts of kubernetes.
部署——已配置和可操作的资源。部署是使您能够协调资源的总体过程。
ReplicaSet—pods 组,为您的服务提供资源。
Pod—包含一个或多个容器以及附加的存储资源和配置定义的单元。 Pods 在 ReplicaSets 中分组在一起,所有 pods 在一组 运行 相同的容器镜像中。
节点集群——控制平面和工作节点,每个节点包含一个或多个pods。工作人员 运行 您的工作负载和控制平面一起协调工作人员。这就是 Minikube 创建的。
节点进程——用于连接和管理 Kubernetes 的各种组件。控制平面进程包括 API servers、ectd、Scheduler、kube-controller-manager 和 cloud-controller-manager。工作进程包括 kubelet、kube-proxy 和您的容器 运行time.
容器——您创建的用于保存应用程序的映像。
我正在尝试了解 Minikube 如何在 Windows 上 运行,以进行以下设置。下面有几个相关的问题,希望能帮助我从整体上理解它是如何工作的。
使用 minikube 配置文件列表,我得到以下输出。
C:\>minikube profile list
|----------|-----------|---------|--------------|------|---------|---------|-------|
| Profile | VM Driver | Runtime | IP | Port | Version | Status | Nodes |
|----------|-----------|---------|--------------|------|---------|---------|-------|
| minikube | docker | docker | 192.168.49.2 | 8443 | v1.20.7 | Running | 1 |
|----------|-----------|---------|--------------|------|---------|---------|-------|
这个 minikube 是一个容器 运行ning 使用我本地安装的 Docker 桌面吗?因此,它是在 WSL2 还是 Virtualbox 上 运行s 取决于我如何获得我的 Docker 桌面 运行?
如果我使用 minikube ssh,我可以在其中与 docker 进行交互。从下面的输出来看,是否意味着每个 minikube kubernetes 组件都是 运行 作为一个单独的容器?这是 docker-in-docker 的例子吗?
C:\>minikube ssh
Last login: Wed Nov 10 14:07:23 2021 from 192.168.49.1
docker@minikube:~$ docker ps --format '{{.Names}}'
k8s_storage-provisioner_storage-provisioner_kube-system_b7c766e9-48fe-45dd-a929-d6fd4b6fcf8b_0
k8s_POD_storage-provisioner_kube-system_b7c766e9-48fe-45dd-a929-d6fd4b6fcf8b_0
k8s_kube-proxy_kube-proxy-4r5hz_kube-system_71dc0877-5a47-4b2c-a106-ee41e5f6a142_0
k8s_coredns_coredns-74ff55c5b-pl7tb_kube-system_6cf31402-c3b4-4d86-8963-8a53e36b7878_0
k8s_POD_kube-proxy-4r5hz_kube-system_71dc0877-5a47-4b2c-a106-ee41e5f6a142_0
k8s_POD_coredns-74ff55c5b-pl7tb_kube-system_6cf31402-c3b4-4d86-8963-8a53e36b7878_0
k8s_kube-scheduler_kube-scheduler-minikube_kube-system_82ed17c7f4a56a29330619386941d47e_0
k8s_kube-apiserver_kube-apiserver-minikube_kube-system_01d7e312da0f9c4176daa8464d4d1a50_0
k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_c7b8fa13668654de8887eea36ddd7b5b_0
k8s_etcd_etcd-minikube_kube-system_c31fe6a5afdd142cf3450ac972274b36_0
k8s_POD_kube-scheduler-minikube_kube-system_82ed17c7f4a56a29330619386941d47e_0
k8s_POD_kube-controller-manager-minikube_kube-system_c7b8fa13668654de8887eea36ddd7b5b_0
k8s_POD_kube-apiserver-minikube_kube-system_01d7e312da0f9c4176daa8464d4d1a50_0
k8s_POD_etcd-minikube_kube-system_c31fe6a5afdd142cf3450ac972274b36_0
docker@minikube:~$
是minikube容器使用本地安装的Docker桌面吗?
Minikube是本地Kubernetes,专注于让Kubernetes易于学习和开发。 您只需要 Docker(或类似兼容的)容器或虚拟机环境,Kubernetes 只需一个命令:minikube start。
你需要什么?
- 2 个或更多 CPU
- 2GB 可用内存
- 20GB 可用磁盘space
- 互联网连接
- 容器或虚拟机管理器,例如:Docker、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox 或 VMware
我想指出最后一句话,你可以选择多个容器或虚拟机管理器。 Docker 是您可以选择的选项之一,并且根据您的 post,您当前的部署使用 Docker 作为管理程序。
运行是在 WSL2 还是 Virtualbox 上?
这里有一些关于 WSL2 和 Virtualbox 的信息,但是提供的关于你的环境的信息不足以确定你的部署是在 Virtualbox 还是 WSL2 中。
Virtualbox硬件虚拟化选项是允许处理器提供的虚拟化能力。这对嵌套虚拟化没有帮助。你可以在 Virtualbox 中 运行 in Docker 只要里面没有 hypervisor 运行ning。当我们在 Virtualbox 中 运行 Docker Linux 系统时就是这种情况。使用 Windows 服务器,他们 运行 hyperv 以及他们 运行 Windows 服务器,其中 Docker 运行s。这就是为什么这里需要嵌套虚拟化。
在 WSL 2 上使用 Docker 桌面 运行,用户可以利用 Linux 工作 space,避免同时维护 Linux 和 Windows 构建脚本。此外,WSL 2 改进了文件系统共享、启动时间,并允许 Docker 桌面用户访问一些很酷的新功能。
在安装 Docker Desktop WSL 2 后端之前,您必须完成以下步骤:
- 安装 Windows 10,版本 1903 或更高版本或 Windows 11。
- 在 Windows 上启用 WSL 2 功能。
- 下载并安装 Linux 内核更新包。
是否每个 minikube kubernetes 组件 运行 作为一个单独的容器?
Minikube 是一个实用程序,可用于 运行 本地计算机上的 Kubernetes。它创建包含在虚拟机 (VM) 中的单节点集群。该集群可让您演示 Kubernetes 操作,而无需耗费时间和资源安装成熟的 K8s。
这是basic concepts of kubernetes.
部署——已配置和可操作的资源。部署是使您能够协调资源的总体过程。
ReplicaSet—pods 组,为您的服务提供资源。
Pod—包含一个或多个容器以及附加的存储资源和配置定义的单元。 Pods 在 ReplicaSets 中分组在一起,所有 pods 在一组 运行 相同的容器镜像中。
节点集群——控制平面和工作节点,每个节点包含一个或多个pods。工作人员 运行 您的工作负载和控制平面一起协调工作人员。这就是 Minikube 创建的。
节点进程——用于连接和管理 Kubernetes 的各种组件。控制平面进程包括 API servers、ectd、Scheduler、kube-controller-manager 和 cloud-controller-manager。工作进程包括 kubelet、kube-proxy 和您的容器 运行time.
容器——您创建的用于保存应用程序的映像。