作为目前事实上的容器编排系统标准,K8s 无疑是现代云原生应用的基石,很多同学入门可能直接就被卡到第一关,从哪去弄个 K8s 的环境, Docker Desktop 自带了Kubernetes 服务,但是在过往的经验中就是用梯子也安装不了,卡在拉取k8s 镜像的过程中。因此阿里云有一个项目 k8s-for-docker-desktop 帮助大家拉取镜像,大家现在通过网络找到的相关文章都是基于这个项目进行的操作。这个项目最新的一些k8s 版本没有,对于一个硬性需求的项目突然不活跃了,肯定是有原因的,这也正是我写这篇博客要和你分享的内容。

接下来就开始我们直接在 Docker Desktop上启用Kubernetes 1.25 的过程记录。

1、在电脑上安装好 Docker Desktop 4.12,所带的kubernetes 1.25,如果可以的话,推荐使用 WSL 作为宿主,后面运行 Docker 时的性能会更好些。最新版的软件在安装时也是会默认使用 WSL 作为宿主的。

安装 Docker 之前需要你在 BIOS 中开启虚拟化,同时基于你的宿主程序的选择,你还需要执行如下的操作

  1. 使用 WSL2 作为宿主:在“控制面板\所有控制面板项\程序和功能”中选择“启用或者关闭 Windows 功能” 勾选上适用于 Linux 的 Windows 子系统,然后在 Microsoft 商城中下载一个 Linux 的发行版本
  2. 使用 Hyper-V 作为宿主:在“控制面板\所有控制面板项\程序和功能”中选择“启用或者关闭 Windows 功能” 勾选上 Hyper-V(没记错的话,如果你有安装别的虚拟机软件,启用 Hyper-V 后原来的虚拟机由于冲突是没办法继续使用了)

这里要注意,以后你看到这篇文章的时候用的是更新的版本:

Docker Desktop 中内置的 K8s 其实是依赖于相关的镜像,由于这些镜像位于 google 的服务器上,因此基本上是无法正常拉取下来的,所以这里就需要借助镜像网站将这些 docker 镜像拉取到本地。

因为直接从 国外 Docker Hub 拉取镜像的速度是非常慢的,所以安装完成之后我们可以配置镜像网站地址,加速 docker 镜像的拉取

找到 Docker 的设置页面,在 Docker Engine 页面,将镜像网站的地址加入到右侧配置文件的 registry-mirrors 节点下面,这里我使用的是 Docker阿里云镜像和中科大的镜像网站地址,调整完成之后重启 Dokcer 即可

{
   "builder": {
     "gc": {
       "defaultKeepStorage": "20GB",
       "enabled": true
     }
   },
   "experimental": false,
   "features": {
     "buildkit": true
   },
   "live-restore": true,
   "registry-mirrors": [
     "https://docker.mirrors.ustc.edu.cn",
     "https://cr.console.aliyun.com/"
   ]

}

镜像地址配置完成之后,做一下清理工作

打开 Docker 的设置页面,找到 Kubernetes 页面,选中 Enable Kubernetes,然后点击 Apply & Restart,这个执行过程有个几十分钟到数小时,具体看网络情况,建议在人少的早餐6-7之间来做。

当左下角出现 K8s 的 logo,并逐步变为绿色,整个 K8s 的环境也就运行起来了。此时我们就可以通过 kubectl 来操作集群,可以看到这里已经可以打印出整个“集群”的信息

上图中我们看到Docker 桌面的k8s 服务使用到了下列镜像:

C:\Users\zsygz>docker images

REPOSITORY                                                TAG                                                                          IMAGE ID       CREATED         SIZE

hubproxy.docker.internal:5000/docker/desktop-kubernetes   kubernetes-v1.25.0-cni-v1.1.1-critools-v1.24.2-cri-dockerd-v0.2.5-1-debian   2042e761d17a   6 weeks ago     363MB

k8s.gcr.io/kube-apiserver                                 v1.25.0                                                                      4d2edfd10d3e   6 weeks ago     128MB

k8s.gcr.io/kube-controller-manager                        v1.25.0                                                                      1a54c86c03a6   6 weeks ago     117MB

k8s.gcr.io/kube-scheduler                                 v1.25.0                                                                      bef2cf311509   6 weeks ago     50.6MB

k8s.gcr.io/kube-proxy                                     v1.25.0                                                                      58a9a0c6d96f   6 weeks ago     61.7MB

k8s.gcr.io/pause                                          3.8                                                                          4873874c08ef   3 months ago    711kB

k8s.gcr.io/etcd                                           3.5.4-0                                                                      a8a176a5d5d6   4 months ago    300MB

k8s.gcr.io/coredns                                        v1.9.3                                                                       5185b96f0bec   4 months ago    48.8MB

docker/desktop-vpnkit-controller                          v2.0                                                                         8c2c38aa676e   17 months ago   21MB

docker/desktop-storage-provisioner                        v2.0                                                                         99f89471f470   17 months ago   41.9MB

Docker Desktop 可以直接启用Kubernetes 1.25 了的更多相关文章

  1. Mac OS用docker Desktop安装单节点kubernetes

    方案: 安装方式:阿里云minikube,k8s官方minikube,kubeadm, docker Desktop中自带第k8s 安装环境:在linux虚拟机中安装k8s,在macos中安装k8s, ...

  2. 为Docker Desktop安装kubernet-dashboard

    在上一篇,在windows上,用最简方法(比其他的脚本法,提前拉取镜像简便太多了)安装好了docker desktop,并启用了内置的kubernetes. 这种安装方法实际上是在Hyper-v虚拟机 ...

  3. Docker Desktop启动Kubernetes

    Docker_Desktop启动Kubernetes 参考仓库:https://github.com/AliyunContainerService/k8s-for-docker-desktop 视频参 ...

  4. 在 Docker Desktop 中启用 K8s 服务

    Overview 作为目前事实上的容器编排系统标准,K8s 无疑是现代应用的基石,很多同学入门可能直接就被卡到第一关,从哪去弄个 K8s 的环境 自己搭吧,要求的硬件资源太高,基本上搭建一个 K8s ...

  5. 关于Kubernetes(简称K8S)的开启及基本使用,基于Docker Desktop & WSL2

    背景介绍 Kubernetes(简称k8s)已成为目前业界容器编排的事实标准,其搭配Docker可建立非常高效便捷的高可扩展.高可用应用服务架构. Kubernetes的名字来自希腊语,意思是&quo ...

  6. 基于docker和cri-dockerd部署kubernetes v1.25.3

    基于docker和cri-dockerd部署kubernetes v1.25.3 1.环境准备 1-1.主机清单 主机名 IP地址 系统版本 k8s-master01 k8s-master01.wan ...

  7. Mac上使用Docker Desktop启动Kubernetes,踩坑后终于搞掂

    1 前言 Kubernetes又简称k8s,是Google开源的容器集群管理系统,最近也是火热.闲来无事(为了发文),捣鼓了一下,在Mac上搭建Kubernetes,遇到一些坑,也记录一下. 另外,D ...

  8. Mac上使用Docker Desktop安装Kubernetes

    下载镜像需要特殊手段,你懂的,如果没有特殊手段,建议放弃这种方式. 1 启用Kubernetes 启用过程,会联网下载kubenetes相关的核心组件镜像,如下是我下载好的: 下载好了,kubenet ...

  9. Docker Desktop for Windows 安装步骤

    Docker Desktop for Windows 安装要求 Docker Desktop for Windows需要运行Microsoft Hyper-V.如果需要,Docker Desktop ...

随机推荐

  1. salt stack学习笔记

    saltstack运行模式: local master/minion salt ssh saltstack三大功能 远程执行命令 配置管理(状态管理) 云管理 安装: master  salt-mas ...

  2. 2510-Druid监控功能的深入使用与配置-基于SpringBoot-完全使用java config的形式

    环境 springboot 1.5.9.RELEASE + JDK1.8 配置步骤 分两步,1 配置数据源 2 配置监控 直接上代码 1 配置数据源 package com.company.proje ...

  3. Redis常见数据类型

    String 常用命令: get.set.incr.decr mget等操作,普通的key/value存储都可以归为此类 Hash 常用命令: hget,hset,hgetall 等. List(队列 ...

  4. C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处

    ​ 一直以为对于引用类型做为参数在方法调用时加不加 ref 关键字是没有区别的.但是今天一调试踪了一下变量内存情况才发现大有不同. 直接上代码,结论是:以下代码是使用了 ref 关键字的版本.它输出1 ...

  5. 金瓯无缺江河一统|Win10系统基于Docker和Python3搭建并维护统一认证系统OpenLdap

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_180 OpenLdap(Lightweight Directory Access Protocol)是什么?它其实是一个开源的.具 ...

  6. 【AGC】增长服务1-远程配置示例

    ​ [AGC]增长服务1-远程配置示例 前言:上一次笔者给大家带来了AGC领域的性能管理服务的学习.这次我们再继续深化学习AGC的相关知识.在文章开始之前,再给读者简单介绍一下AGC,以免第一次来的读 ...

  7. BMP位图之8位位图(三)

    起始结构 typedef struct tagBITMAPFILEHEADER { WORD bfType; //类型名,字符串"BM", DWORD bfSize; //文件大小 ...

  8. Java学习--基础

    java学习 基础 Java三大版本 javase 标准版 占领桌面端(基础) javame 移动版 嵌入式开发.占领手机端 javaee 企业版 占领服务器端 Java的特性和优势 跨平台.可移植性 ...

  9. POJ3903Stock Exchange (LIS)

    学了下BIT,炸了... #include <iostream> #include <cstdio> #include <cstring> #include < ...

  10. luogu1419 寻找段落 (二分,单调队列)

    单调队列存坐标 #include <iostream> #include <cstdio> #include <cstring> #include <algo ...