Docker Desktop启用Kubernetes 1.25 的过程记录

作为目前事实上的容器编排系统标准,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 中开启虚拟化,同时基于你的宿主程序的选择,你还需要执行如下的操作

  • 使用 WSL2 作为宿主:在“控制面板\所有控制面板项\程序和功能”中选择“启用或者关闭 Windows 功能” 勾选上适用于 Linux 的 Windows 子系统,然后在 Microsoft 商城中下载一个 Linux 的发行版本
  • 使用 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 的过程记录的文章就介绍到这了,更多相关Docker Desktop启用Kubernetes内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • kubernetes k8s常用问题排查方法

    目录 Pod 的那些状态 镜像拉取失败 启动后容器崩溃 容器被驱逐 总结 Pod 的那些状态 使用 K8s 部署我们的服务之后,为了观察 Pod 是否成功,我们都会使用下面这个命令查询 Pod 的状态. kubectl get pods NAME READY STATUS RESTARTS AGE my-app-5d7d978fb9-2fj5m 0/1 ContainerCreating 0 10s my-app-5d7d978fb9-dbt89 0/1 ContainerCreating 0

  • Centos7 安装部署Kubernetes(k8s)集群实现过程

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4.1 环境介绍 4.2 配置节点的基本环境 4.3 节点安装docker,并进行相关配置 4.4 安装kubelet,kubeadm,kubectl 4.5 kubeadm初始化 4.6 添加worker节点到k8s集群 4.7 部署CNI网络插件calico 4.8 配置kubectl命令tab键自

  • Go语言k8s kubernetes使用leader election实现选举

    目录 一.背景 二.官网代码示例 三.锁的实现 一.背景 在kubernetes的世界中,很多组件仅仅需要一个实例在运行,比如controller-manager或第三方的controller,但是为了高可用性,需要组件有多个副本,在发生故障的时候需要自动切换.因此,需要利用leader election的机制多副本部署,单实例运行的模式.应用程序可以使用外部的组件比如ZooKeeper或Etcd等中间件进行leader eleaction, ZooKeeper的实现是采用临时节点的方案,临时节

  • Kubernetes实现CI与CD配置教程

    目录 一.基本介绍 二.基于 Kubernetes 实现 CI/CD 配置 1.配置 GitLab 2.配置 Jenkins 3.实现 CI/CD 配置 4.验证 一.基本介绍 基于 Kubernetes 实现 CI/CD 配置,其实和往常那些 CI/CD 配置并没有太大区别.都是通过 提交代码,拉取代码,构建代码,发布代码来实现的. 只不过要是通过 K8s 来实现的话,则是需要将构建好的代码打包成镜像,通过镜像的方式来运行. CI/CD 流程图: 开发将代码提交代码仓库后,我们便可以通过在 J

  • MySQL 集群迁移到 Kubernetes操作步骤

    目录 背景 适用场景 前提条件 操作步骤 Step 1:自建集群开启 GTID Step 2:容器集群在线迁移全量数据 Step 3:进行增量同步 Step 4:同步数据到容器集群的其他节点 Step 5:业务切换 Step 6:停止同步 总结 背景 如果你有自建的 MySQL 集群,并且已经感受到了云原生的春风拂面,想将数据迁移到 Kubernetes 上,那么这篇文章可以给你一些思路. 文中将自建 MySQL 集群数据,在线迁移到 Kubernetes 的 MySQL 集群中,快速实现了 M

  • Kubernetes应用配置管理创建使用详解

    目录 正文 Secret 创建Secret 使用YAML文件创建 使用kubectl命令创建 使用Secret 通过环境变量使用Secret 通过挂载的方式使用Secret 在拉取镜像的时候使用Secret 小结 ConfigMap 创建ConfigMap 通过命令创建ConfigMap 通过YAML创建ConfigMap 使用ConfigMap 通过环境变量使用ConfigMap 通过数据卷使用ConfigMap 总结 正文 不论什么样的应用,基本都有配置文件,在企业中,大部分会用到配置中心,

  • docker+Nginx部署前端项目的详细过程记录

    目录 相关配置安装 创建配置文件 项目打包与部署 一个相关报错: 总结 相关配置安装 安装Docker yum install docker 启动服务 start docker systemctl start docker Docker中拉取nginx镜像 docker pull nginx 创建配置文件 我们需要在根目录下创建Dockerfile文件和default.conf文件. 其中default.conf文件的名称是什么无所谓,只要在配置文件中注意使用相同名称即可. Dokcerfile

  • Docker Desktop常见的几种启动失败问题解决方法

    目录 报错1,Error:Failed to restart 报错2,Error invoking remote method 'desktop-go-backend':[object Object] 报错3,无错误信息,一直卡在 Docker Desktop starting... 报错4,在Ubuntu for windows 中执行docker命令提示未找到 报错5,LxssManager无法启动,处于停止状态 总结 报错1,Error:Failed to restart 点Quit 然后

  • Docker Desktop无法正常启动解决(failed to start...)

    目录 安装Docker 1.在浏览器搜索 2.根据自己的需求下载(本人是windows) 3. 我的系统是家庭版的,没有Hyper-v,所以还需自行配置(专业版无需此步骤) 4.开始安装Docker(无脑下一步就可以),等待安装成功,重启电脑 总结 本想着搭建splash环境来着,卡在了此步骤 顺便说一下整个安装过程 安装Docker 1.在浏览器搜索 https://docker.com/ 2.根据自己的需求下载(本人是windows) 3. 我的系统是家庭版的,没有Hyper-v,所以还需自

  • 一次docker错误的耗时排查过程记录

    由来 客户是深信服的订制系统,基于 centos 改的,排查半天发现居然是文件损坏,而不是 docker 的问题. 环境信息 docker信息: $ docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 2 Server Version: 18.09.3 Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: true Native Overl

  • 安装Docker Desktop报错WSL 2 installation is incomplete的问题(解决报错)

    报错描述 我们安装Docker Desktop的时候,他会问我们是否需要使用WSL2(基于Windows的Linux子系统),如果我们不适用,就会使用Hyper-v虚拟机运行,不过相比于虚拟机,子系统在性能方面更加出色.在我们选择使用WSL2之后,并且我们也确定打开了如下图所示的Windows功能(如果没有打开,请先百度如何打开wsl.) 还是会出现一个下图所示的报错. 解决报错 更加报错提示,猜测可能是我们使用的wsl2版本老了,需要我们自己手动更新一下,我们根据提示去微软官网下载最新版的ws

  • Docker安装Presto连接Hive的详细过程

    1.简介 Presto 是一个开源分布式 SQL 查询引擎,用于针对从千兆字节到 PB 级的各种规模的数据源运行交互式分析查询.Presto 允许查询数据所在的位置,包括 Hive.Cassandra.关系数据库甚至专有数据存储.单个 Presto 查询可以组合来自多个来源的数据,从而允许对整个组织进行分析. 2.下载安装 1)下载镜像 docker pull starburstdata/presto 2)下载客户端jar 因为pull下来的镜像是server,是没有presto-cli命令的,

  • Docker中搭建配置Git环境的过程

    Docker中配置Git环境 工作中遇到了需要在Docker环境中操作GitLab仓库的场景,需要事先在Docker中搭好Git环境. 由于在Docker中对Git仓库操作是全自动化的,因此需要免密拉取仓库和提交等操作,我这里是使用SSH来进行免密操作. 所以首先是配置SSH,其次是配置Docker环境. 配置SSH Key 先生成SSH key: ssh-agent eval $(ssh-agent -s) ssh-keygen -o -t rsa -b 4096 -C "{username}

  • 超详细Docker Desktop下安装rocketmq的教程

    安装Docker Desktop 下载地址:Docker Desktop for Mac and Windows | Docker 确认Docker-compose命令是否可用 docker-compose --version 查看docker镜像 docker search rocketmq 下载镜像 apacherocketmq/rocketmq docker pull apacherocketmq/rocketmq 编写yml文件 docker-compose.yml services:

  • Docker Desktop启动失败的解决(Docker failed to initialize Docker Desktop is shutting down)

    目录 问题记录: 解决方法: 问题记录: 有一段时间没有使用docker了,突然要用到结果发现docker desktop都打不开了,会弹出如下错误: 一开始考虑的是会不会是docker版本太老的问题,使用docker version查了一下版本,发现cmd中docker指令还可以输出,但是docker version显示版本信息的同时也会有连接失败的错误信息存在.(而且查了一下版本并不落后,看来还是要解决初始化问题) docker version错误信息: error during conne

  • Docker Desktop更改镜像存储位置的实现

    Docker Desktop默认安装在C盘,默认镜像存储位置在 C:\用户\Administrator\AppData\Local\Docker\wsl\ WSL WSL 的全称叫做:Windows Subsystem for Linux,即「适用于 Linux 的 Windows 子系统」,可让开发人员按原样运行 GNU/Linux 环境 – 包括大多数命令行工具.实用工具和应用程序 – 且不会产生传统虚拟机(a traditional virtual machine)或双启动设置开销. Do

随机推荐