jre for mac 删除_在 Mac 的 Docker Desktop 中运行 K8s

Docker Desktop for Mac 从 Docker Community Edition 18.06.0-ce-mac70 2018-07-25 版本起,添加了对 Kubernetes 的支持,可以方便的在 Mac 上运行一个单节点的 K8s 集群。

在 Docker Desktop 的 Preferences 中的 Kubernetes 页面里,提供了一个 Enable Kubernetes 选框,点击之后即可在 Mac 上启动 K8s。

然而点击之后,就没有然后了,一直是下图这个状态:

24806bdb5afa848663baec4f6c0ba3ff.png

此问题的主要原因,是 K8s 运行所需的一些 k8s.gcr.io 下的镜像,无法直接下载得到。

准备镜像

配置镜像服务

Preferences => Docker Engine 里,可以配置 registry-mirrors,国内可用的一些镜像服务有:

  • 中国科大:https://docker.mirrors.ustc.edu.cn / https://ustc-edu-cn.mirror.aliyuncs.com

  • 阿里云:https://xxxxx.mirror.aliyuncs.com,可使用阿里云账号在 这里 获得

  • 网易云:https://hub-mirror.c.163.com

  • DaoCloud:http://f1361db2.m.daocloud.io

另外,中国科大还有 GCR 和 Quay 的镜像。

可添加多个镜像,如:

{  "registry-mirrors": [    "https://xxxxx.mirror.aliyuncs.com",    "https://docker.mirrors.ustc.edu.cn",    "https://hub-mirror.c.163.com",    "http://f1361db2.m.daocloud.io"  ],  "debug": true,  "experimental": true}

之后点击 Apply & Restart 应用配置。

下载镜像

在 阿里云容器服务的 GitHub 组织 下,有个 k8s-for-docker-desktop 仓库即为解决此问题而存在。解决的方式为:先从阿里云下载所需的镜像副本至本地,再将镜像 tag 修改至 k8s.gcr.io 下。

以如下软件版本为例:

312ea633689bbf9341f00c4fb72e81c3.png

可使用 当前 master 分支最新的内容,直接执行 load_images.sh 完成镜像的下载及 tag 修改。

下载之后的镜像包括如下 8 个,与 images.properties 中内容一一对应:

$ docker imagesREPOSITORY                                                       TAG                                              IMAGE ID            CREATED             SIZEk8s.gcr.io/kube-proxy                                            v1.19.3                                          cdef7632a242        3 weeks ago         118MBk8s.gcr.io/kube-apiserver                                        v1.19.3                                          a301be0cd44b        3 weeks ago         119MBk8s.gcr.io/kube-controller-manager                               v1.19.3                                          9b60aca1d818        3 weeks ago         111MBk8s.gcr.io/kube-scheduler                                        v1.19.3                                          aaefbfa906bd        3 weeks ago         45.7MBk8s.gcr.io/etcd                                                  3.4.13-0                                         0369cf4303ff        2 months ago        253MBk8s.gcr.io/coredns                                               1.7.0                                            bfe3a36ebd25        4 months ago        45.2MBk8s.gcr.io/pause                                                 3.2                                              80d28bedfe5d        8 months ago        683kBquay.io/kubernetes-ingress-controller/nginx-ingress-controller   0.26.1                                           29024c9c6e70        13 months ago       483MB

其他版本?

如果使用的不是上图中的版本,且 k8s-for-docker-desktop 仓库还没有支持该版本时,可根据 K8s 版本通过如下方式获得 images.properties 中对应版本信息:

安装 K8s 对应版本的 kubeadm ,之后运行:

# 替换 ${KUBERNETES_VERSION} 为所使用的 K8s 版本$ ./kubeadm config images list --kubernetes-version=${KUBERNETES_VERSION}

可得到类似如下信息:

k8s.gcr.io/kube-apiserver:v1.19.3
k8s.gcr.io/kube-controller-manager:v1.19.3
k8s.gcr.io/kube-scheduler:v1.19.3
k8s.gcr.io/kube-proxy:v1.19.3
k8s.gcr.io/pause:3.2
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns:1.7.0

也可参照这个 entrypoint.sh 中的 内容 ,或直接从 这个 定期执行的 GitHub Actions 记录中找到对应版本执行时的输出信息,如 v1.19.3 记录。

根据所得到的对应版本镜像信息,修改 images.properties 文件中内容,再执行 load_images.sh 即可。

依旧 Starting ?

在完成镜像下载并重启 Docker Desktop 之后,K8s 依旧停留在 Starting 状态。

通过

$ pred='process matches ".*(ocker|vpnkit).*"
|| (process in {"taskgated-helper", "launchservicesd", "kernel"} && eventMessage contains[c] "docker")'/usr/bin/log stream --style syslog --level=debug --color=always --predicate "$pred"

查看日志,发现不断输出如下内容:

2020-11-07 01:01:48.307809+0800  localhost com.docker.driver.amd64-linux[2646]: cannot get lease for master node: an error on the server ("") has prevented the request from succeeding (get leases.coordination.k8s.io docker-desktop)
2020-11-07 01:01:48.308417+0800 localhost com.docker.backend[1833]: external: POST /events 200 "DockerDesktopGo" ""
2020-11-07 01:01:49.231052+0800 localhost com.docker.driver.amd64-linux[2646]: (libsystem_info.dylib) [com.apple.network.libinfo:getaddrinfo] nat64_v4_requires_synthesis(127.0.0.1) == false

按照 这里 及 这里 提到的方式,删除掉 pki 文件夹:

$ rm -rf ~/Library/Group\ Containers/group.com.docker/pki/

之后再重启并观察日志,上述问题不再出现,并且新下载了 3 个 desktop 相关的镜像:

$ docker images | grep desktopdocker/desktop-kubernetes                                        kubernetes-v1.19.3-cni-v0.8.5-critools-v1.17.0   7f85afe431d8        3 weeks ago         285MBdocker/desktop-storage-provisioner                               v1.1                                             e704287ce753        7 months ago        41.8MBdocker/desktop-vpnkit-controller                                 v1.0                                             79da37e5a3aa        8 months ago        36.6MB

等待一会之后,终于变成 Running 状态了!

2e7a7e676d225c00240133a4971c91f1.png

Tips: 如果还是 Starting 状态,可以尝试将当前安装的 Docker Desktop 环境都清理掉,全新安装一个稳定版本,可能就不会有奇怪的问题了。

另外,在没开启 Preferences => Kubernetes 中的 Show system containers (advanced) 选项时,docker ps 是看不到 K8s 相关的容器的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514788.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阳振坤:OceanBase 数据库七亿 tpmC 的关键技术

OB君:2020年9月25日,OceanBase在外滩大会举办的“数据库,新标杆,新征途”分论坛正式落幕,内容涵盖数据库的趋势探讨、分布式数据库的技术创新与行业应用,及国内数据库的发展与生态。欢迎持续关注本系列内容…

数百万台车联网设备同时在线0故障,中瑞集团的云原生探索之路 | 云原生Talk

简介: 在保持对业界趋势调度关注的同时,始终选用最适合自身的技术,这可能是中瑞能在车联网领域引领行业的重要原因之一,正如中瑞CTO所说“阿里云云原生产品体系带给我们的,不是单纯的IT工具,而是整个团队战…

mysql主键重复会覆盖还是_mysql如果主键重复了会发生什么情况

首先创建一个person表:create TABLE person(id int not null auto_increment,name VARCHAR(255) ,age int,PRIMARY key (id))同时打开两个sql窗口set autocommitoff;set id-1;SELECTauto_increment into idFROMinformation_schema.TABLESWHEREtable_name personAND…

终止中台乱象 《2021年中国中台市场研究报告》隆重发布

2015年,阿里提出“大中台,小前台”的战略,帮助一线业务更敏捷地适应市场变化。随后,多家互联网巨头纷纷布局中台战略,中台概念由此全面打响。 通过中台,可以打通数据孤岛,实现快速响应、智能预…

Flink State 误用之痛,你中招了吗?

简介: 本文主要讨论一个问题:ValueState 中存 Map 与 MapState 有什么区别?如果不懂这两者的区别,而且使用 ValueState 中存大对象,生产环境很可能会出现以下问题:CPU 被打满、吞吐上不去。 本文主要讨论一…

Dubbo-go 源码笔记(一)Server 端开启服务过程

简介: 随着微服务架构的流行,许多高性能 rpc 框架应运而生,由阿里开源的 dubbo 框架 go 语言版本的 dubbo-go 也成为了众多开发者不错的选择。本文将介绍 dubbo-go 框架的基本使用方法,以及从 export 调用链的角度进行 server 端源…

mysql怎么多重查询_mysql基于值的多重查询

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

华为在中国建立其全球最大的网络安全透明中心

2021年6月9日,华为最大的网络安全透明中心今天在中国东莞正式启用,来自GSMA、阿联酋、印尼的监管机构及英国标准协会、SUSE等机构代表出席并在活动上发言。借此机会,华为发布了《华为产品安全基线》白皮书,首次将产品安全需求基线…

浅析云控平台画面传输的视频流方案

简介: 本文将小结本次云控平台画面传输的视频流方案。 背景 ARC(高德车机云控平台)是一个基于车载设备业务深度定制的云控平台,通过该平台我们能够实现远程使用不同类型的车载设备。为了让远程使用者像在本地一样使用车载设备&am…

解读云原生基础设施

简介: 云原生是云计算领域的热点之一。就像 “一千个人眼里有一千个哈姆雷特”,大家对"云原生"的定义也见仁见智。本文将介绍云原生应用架构和生命周期管理的进化方向。 作者 | 易立 阿里云资深技术专家 导读:云原生是云计算领域的…

mysql al32utf8_Oracle 11g更改字符集AL32UTF8为ZHS16GBK

Oracle 9i更改字符集AL32UTF8为ZHS16GBKSQLgt; conn /as sysdba SQLgt; shutdown immediate; SQLgt; startup mount SQLgt; A首页 → 数据库技术背景:阅读新闻Oracle 11g更改字符集AL32UTF8为ZHS16GBK[日期:2011-04-26]来源:Linux社区作者&am…

共筑全场景智慧生态,华为HMS全球应用创新大赛火热开启

6月10日,2021华为HMS全球应用创新大赛(Apps UP)正式启动。此次大赛以“HMS Innovate For All”为主题,激励全球开发者集成华为HMS Core开放能力开发创新应用,打造全场景数字创新体验,为全球消费者带来全场景…

2020-11-06

一、背景介绍 (一)流平台通用框架 目前流平台通用的架构一般来说包括消息队列、计算引擎和存储三部分,通用架构如下图所示。客户端或者 web 的 log 日志会被采集到消息队列;计算引擎实时计算消息队列的数据;实时计算…

移动端堆栈关键行定位的新思路

简介: 崩溃堆栈是我们日常应用问题排查中的重要辅助手段,在移动开发上也不例外,为了支持用户在堆栈上的快速定位,我们面临一个看似比较简单问题:高亮崩溃中的关键行, 辅助用户快速定位问题。 阿里云 云原生应用研发平台…

mysql exists in join_子查询、left join、 exists 替代 not in

如果要实现一张表有而另外一张表没有的数据时,我们通常会这么写:SELECT id FROM user WHERE id NOT IN (SELECT id FROM student)not in不会走索引, 可以用exists替代SELECT id FROM user WHERE NOT exists (SELECT id FROM student WHERE user.id stud…

华云数据升级发布“信创云基座“ 用“全芯全栈”支持“信创强国”

2021年6月10日,北京——2021年是我国“十四五”规划的开局之年,也是我国“加快数字发展 建设数字中国”的关键之年。值此历史交汇的关键点,云计算、大数据、人工智能、物联网、工业互联网、区块链等重点产业将对国家数字经济发展起到巨大推动…

最IN的云原生架构,阿里云 Serverless 事件总线 EventBridge 重磅发布

简介: Serverless 是云计算下一个10年的主要形态,通过大量端到端的整合和云服务的集成,能极大地提高研发效率。了解阿里云 Serverless 产品家族的最新进展,包括函数计算FC、Serverless应用引擎SAE和 Serverless事件总线EventBridg…

智能技术改变淘宝,阿里巴巴首次详解核心商业AI体系

简介: 双11背后的万亿人次商品需求:淘宝创造新一代智能科技,淘宝成为超大规模智能APP,前沿科技重塑双11人货场。 图:淘宝APP已成为超大规模智能APP “淘宝APP已成为超大规模智能APP。”阿里巴巴集团资深副总裁周靖人11…

wow mysql dbc_DBC中悲观锁介绍附案例详解

DBC中悲观锁介绍附案例详解了解下DBC中悲观锁:代码如下:BDUtils 工具类:package JDBC;import java.sql.*;public class BDUtils {private BDUtils() {}static {try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoun…

融云任杰:强互动,RTC下一个“爆点”场景|拟合

从无序中寻找踪迹,从眼前事探索未来。 2021 年正值黄金十年新开端,CSDN 以中立技术社区专业、客观的角度,深度探讨中国前沿 IT 技术演进,推出年度重磅企划栏目——「拟合」,通过对话企业技术高管大咖,跟踪报…