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工具,而是整个团队战…

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

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

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

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

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

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 日志会被采集到消息队列;计算引擎实时计算消息队列的数据;实时计算…

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

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

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

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

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

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

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

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

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

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

TI Inside,情报协同的最佳实践

6月18日,以“新IN力 御万象”为主题的 TI Inside 威胁情报应用生态协同峰会在北京隆重召开。此次峰会吸引了数百位网络安全产业专家、龙头企业代表、威胁情报生态合作机构、分析机构以及权威媒体齐聚一堂,共同交流威胁情报的最佳应用实践,探讨…

IT、OT融合趋势下,西门子举办“第一届西门子工业边缘生态大会”

近日,西门子举办“第一届西门子工业边缘生态大会”,以“聚势边缘 共赋未来”为主题,来自全国机构专家、工业制造商、系统集成商、互联网伙伴、软件和大数据伙伴、媒体等生态伙伴深入交流未来工业的发展方向。 “边缘层融合IT和OT层&#xff0…

Android网络性能监控方案

背景 移动互联网时代,移动端极大部分业务都需要通过App和Server之间的数据交互来实现,所以大部分App提供的业务功能都需要使用网络请求。如果因为网络请求慢或者请求失败,导致用户无法顺畅的使用业务功能,会对用户体验造成极大影…

打破云原生时代存储瓶颈,SmartX 发布 K8s 云原生存储 IOMesh

编辑 | 宋 慧 供稿 | SmartX 头图 | 付费下载于视觉中国 专业超融合与分布式存储产品与解决方案提供商 SmartX 发布为 Kubernetes 设计和开发的云原生存储产品 IOMesh 预览版(以下简称“IOMesh”),加速数据库等有状态应用的容器化进程。 IO…

全球边缘计算大会:阿里云资深技术专家李克畅谈边缘计算的技术趋势与挑战

2020年11月7日,以“5G边缘计算“为主题的全球边缘计算大会在北京新世界大酒店成功召开,作为业内首个专门为边缘计算人打造的行业盛会,此次活动现场共有超过600来自政、产、学、研、用各界的企业负责人、权威技术专家、通信科技从业者、边缘计…