天道酬勤,学无止境

mac开启docker kubernetes

全栈工程师开发手册 (作者:栾鹏)
架构系列文章

需安装 Docker Desktop 的 Mac 或者 Windows 版本,如果没有请下载 Docker CE最新版本

安装后启动,查看 Docker Desktop版本,Docker -> About Docker Desktop。查看docker中的kubernetes版本。
在这里插入图片描述

Docker Desktop for Mac 开启 Kubernetes

为 Docker daemon 配

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Docker Desktop for Mac/Windows 开启 Kubernetes
    Docker Desktop for Mac/Windows 开启 Kubernetes 需安装 Docker Desktop 的 Mac 或者 Windows 版本,如果没有请下载下载 Docker CE最新版本 当前 master 分支已经在 Docker for Mac/Windows 2.1.5.0 Edge (包含 Docker CE 19.03.4 和 Kubernetes 1.15.5) 版本测试通过 如果需要测试其他版本,请查看 Docker Desktop版本,Docker -> About Docker Desktop 如Kubernetes版本为 v1.15.4, 请使用下面命令切换 v1.15.4 分支 git checkout v1.15.4 如Kubernetes版本为 v1.14.8, 请使用下面命令切换 v1.14.8 分支 git checkout v1.14.8 如Kubernetes版本为 v1.14.7, 请使用下面命令切换 v1.14.7 分支 git checkout v1.14.7 如Kubernetes版本为 v1.14.6, 请使用下面命令切换 v1.14.6 分支 git checkout v1.14.6 如Kubernetes版本为 v1.14.3, 请使用下面命令切换 v1.14.3 分支 git checkout v1.14
  • Kubeadm安装k8s1.18.1——Centos
    也没事啦,就想在自己个人机子上搭建个k8s,方便自己学习,搞k8s也快一年了,加油加油!本来想买个云服务器,心想自己也没怎么用还是有点贵,穷,还是在个人机子上安装吧。 0. 序言 0.1 本文的目录 0.2 阅读本文可以给你带来什么 了解使用kubeadm安装k8s,促进更好的学习k8s。 1. 个人虚机安装 Parallels —— Mac 系统最强虚拟机,真香! CentOS-8.1.1911-x86_64-dvd1.iso —— 下载地址:http://isoredirect.centos.org/centos/8/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso 内存要大于等于 2 G ,CPU核数需要大于等于 2 核 安装完CentOS设置网卡开机启动 vim /etc/sysconfig/network-scripts/ifcfg-xxx 将其中ONBOOT参数的值改为yes,保存退出 2. 使用Kubeadm安装k8s 官网:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ 2.1 准备开始 查看下官网的要求 翻译一下就是如下几个要求: 机子的OS系统要是Ubuntu 16.04+、Debian 9+
  • Kubernetes集群1.18.3版本安装搭建
    Kubernetes集群安装 一步步来,绝对无坑 Kubernetes集群安装一、docker前期准备1、修改主机名:hostnamectl set-hostname k8s-master /k8s-nodes1 / k8s-nodes22、修改域名文件:vim /etc/hosts3、安装docker4、下载加速器 二、kubernetes前期准备1、配置kubernetes阿里源2、安装kubernetes组件3、升级内核4、kubernetes必备前提条件5、关闭防火墙如果不关闭防火墙,请放下以下端口Master节点Node节点 6、开启docker、并修改docker需要开启的几个参数6-2、内核优化参数(硅谷教育)7、关闭selinux8、安装kubernetes TAB键 三、集群构建1、配置kubernetes阿里源2、安装kubernetes组件3、开启kubelet4、安装依赖镜像5、安装kubernetes-flannel网络插件6、初始化master节点7、将nodes节点加入kubernetes集群8、修改Docker cgroup驱动程序,改为推荐的systemd 一、docker前期准备 4台centos7.7 主机名IP地址硬件需求k8s-master192.168.168.11CPU2核、内存4Gk8s-node1192.168.168
  • Python项目之容器化实践(四) - Kubernetes新手篇
    前言 Kubernetes (音 kubə'netis) 这个名字来自希腊语,意思是「舵手」或「领航员」,它是一个起源于 Google 的开源项目,允许自动化部署、管理和扩容容器化应用,它现在已成为容器编排的事实标准。 其实 Kubernetes 的简称 k8s 存在感更强,这个简称缘由是单词中间刚好是 8 个字母,这是一种数字缩写 (Numeronym) 方式。类似的如 internationalization (国际化) 叫做 i18n 、 accessibility 叫做 a11y 等。以下如无特别原因均使用它的简称 k8s。 接下来几篇文章将分享我学习和使用它的一些经验,今天是第一篇,先了解 k8s 的架构、核心概念和基本用法。 在 macOS 上安装 Kubernetes 首先需要安装 Kubernetes。有 3 个方法: Docker Desktop for Mac 在 macOS 上最简单的方法就是安装「Docker Desktop for Mac」,并开启 Kubernetes 支持,可以通过延伸阅读链接 1 的地址下载它,开启 Kubernetes 支持的方法非常简单,需要 2 步: 使用代理。众所周知,安装过程会请求一些会超时的网站页面,需要设置代理。右键点 Docker 图标选: Preferences -> Proxies,选择手动指定,输入你的代理地
  • 【kubernetes】mac下部署kubernetes
    【kubernetes】mac下kubernetes的安装 前言版本kubernetes本地版本拉取代码修改镜像源拉取镜像后记 前言 之前一直是使用docker-compose来管理容器,但因为其是适用于单节点宿主机管理,最近又在研究分布式容器化方案,因此需要在本地环境集成一个kubernetes环境做测试(docker已经装好),由于被称为”人民之墙“的存在,以至于不能通过docker提供的操作界面直接勾选安装docker(直接勾选拉取会一直kubernetes is starting…) 查阅资料、博文之后,决定采用手动拉取镜像的方式安装,现已部署成功,这里记录一下部署过程。 版本 Mac:10.15.4 Docker:2.3.0.3 (45519) Kubernetes:1.16.5 kubernetes本地版本 点击mac上端的状态栏docker图标,进入About Docker Desktop 在这里我们可以看到kubernetes的相应版本: 拉取代码 拉取GIT上的代码,命令行执行以下: git clone https://github.com/maguowei/k8s-docker-for-mac 拉取完之后,本地会多一个k8s-docker-for-mac目录,执行: cd k8s-docker-for-mac vim images
  • Kubernetes测试环境minikube部署(理论+实战!!!)
    Kubernetes的概述 Kubernetes是一个开源的Docker容器编排系统,Kubernetes简称K8S。调度计算集群的节点,动态管理上面的作业通过使用[labels]和[pods]的概念,将应用按逻辑单元进行分组 K8S用于容器应用程序的部署,扩展和管理K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能Kubernetes目标是让部署容器化应运简单高效官方网站:http://www.kubernetes.io Kubernetes的特性 自我修复: 在节点故障时重新启动失败的容器,替换和重新部署,保证预测的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。 弹性伸缩: 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务 自动部署和回滚: K8S采用滚动更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务 服务发现和负载均衡: K8S为多个容器提供一个统一的访问入口(内部IP地址和UI个DNS地址),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题 机密和配置管理: 管理机密数据和应用程序配置。而不需要把敏感数据暴露在镜像里,提高敏感数据安全性
  • 如何快速在Ubuntu18.04.1上安装k8s1.20的简明教程
    快速在Ubuntu18.04.1上安装k8s1.20 k8s官网Install Toolskubectl minikubekubeadm Ubuntu18.04.1上k8s1.20安装教程安装 kubeadm准备开始关闭防火墙、swapUbuntu中的root帐号 确保每个节点上 MAC 地址和 product_uuid 的唯一性检查网络适配器确保 iptables 工具不使用 nftables 后端修改主机名、更新host安装 runtime安装Docker 安装 kubeadm、kubelet 和 kubectl添加阿里源开始安装部署(master)节点查看 kubernetes 所需镜像列表执行 init失败重试root 用户非root用户操作 kubectl node节点执行join在node节点执行命令 查看节点状态安装 Pod 网络附加组件 Dashboard UI部署 Dashboard UI访问 Dashboard UIkubernetes dashboard登录后,权限不够问题命令行代理 Q&A k8s官网 Install Tools kubectl The Kubernetes command-line tool, kubectl, allows you to run commands against Kubernetes clusters. You can
  • Docker for Mac - Kubernetes - reference local image
    I am using Docker for Mac with Kubernetes support and I'm struggling to create a Kubernetes Deployment that references a locally built image. Output of docker images: REPOSITORY TAG IMAGE test latest 2c3bdb36a5ed My deployment.yaml : apiVersion: apps/v1 kind: Deployment metadata: name: helloworld-deployment spec: selector: matchLabels: app: helloworld replicas: 1 template: metadata: labels: app: helloworld spec: containers: - name: aaa image: test:latest ports: - containerPort: 8080 When i run kubectl apply -f deplyment.yaml pods are created but: helloworld-deployment-764b8b85d8-2c4kl 0/1
  • 农行信创之容器云适配经验分享:问题、挑战与解决之道 | 运维进阶
    当前国内的信息技术的核心和标准大多数都由国外公司掌握和制定,因此存在诸多的安全风险。随着我国加快推进信息网络等新型基础设施建设、网络主权概念的逐步明确,信息技术应用创新产业已经成为当前信息化部署的关键词。我国正在大力推动政府、国防、金融、交通等关键领域的信息化产品尽快实现国产化替代,并发布了多个重要政策来保障国产化的实施,加速实现信息核心技术的自主可控。中国农业银行作为国有银行,是中国金融体系重要的组成部分,也是信创国产化布局的关键领域,在IT建设方面发展十分迅速,其中引入云计算平台基础设施来承载新建应用系统已经作为行内的一条刚性原则。信创国产化云的建设也是当下的重要任务,在云计算平台软件与国芯物理服务器、国产操作系统的适配方面也遇到不少的问题与挑战,下面就这个话题举几个典型的案例和大家分享一下。农行信创云是采用容器及容器调度为核心技术栈的PaaS平台。容器引擎Docker、容器编排调度组件kubernetes和容器网络插件等整体运行于银河麒麟或者CentOS8操作系统之上。服务器方面采用基于海光x86和鲲鹏arm处理器的国产服务器。案例1 基于国芯海光x86服务器安装Centos8操作系统,部署并运行Kubernetes网络插件flannel时出现跨服务器容器网络不通的现象。现象
  • Ubuntu-16.04使用kubeadm安装kubernetes-1.18.3(阿里源快速安装与配置)
    目录: 官方文档和源码永远都是最好的学习资料,有什么问题大家可以讨论docker官方文档kubernetes官方文档 一. 准备工作1.1 环境信息1.2 禁用SELINUX1.3 开启数据包转发1.4 禁用swap1.5 配置iptables参数,使得流经网桥的流量也经过iptables/netfilter防火墙 二. 安装docker2.1 安装docker-18.03.12.2 docker启动参数配置2.3 为docker设置http代理 三. 安装kubeadm、kubelet、kubectl3.1 apt安装 四. Kubernetes集群安装4.1 master节点部署4.2 网络部署4.3 slave节点部署 官方文档和源码永远都是最好的学习资料,有什么问题大家可以讨论 docker官方文档 kubernetes官方文档 一. 准备工作 1.1 环境信息 操作系统:Ubuntu 16.04.1 LTS 关闭防火墙 关闭ufw防火墙,Ubuntu默认未启用,无需设置。 $ sudo ufw disable 备注: ufw的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。为避免不必要的麻烦,这里把firewalld关掉。 1.2 禁用SELINUX ubuntu默认不安装selinux,假如安装了的话
  • Kubernetes网络之Flannel工作原理
    目录1、Docker网络模式1.1 bridge网络的构建过程1.2 外部访问2、Kubernetes网络模式1)源容器向目标容器发送数据,数据首先发送给docker0网桥2)docker0网桥接受到数据后,将其转交给flannel.1虚拟网卡处理3)flannel.1接受到数据后,对数据进行封装,并发给宿主机的eth04)对在flannel路由节点封装后的数据,进行再封装后,转发给目标容器Node的eth05)目标容器宿主机的eth0接收到数据后,对数据包进行拆封,并转发给flannel.1虚拟网卡;6)flannel.1 虚拟网卡接受到数据,将数据发送给docker0网桥;7)最后,数据到达目标容器,完成容器之间的数据通信。1)设置集群网络2)设置Node节点上的子网3)在每个Node上启动flanneld4)创建虚拟网卡5)创建Docker网桥6)修改路由表2.1 同一个Pod中容器之间的通信2.2 不同Pod中容器之间的通信2.3 Flannel在K8S中运行的整体过程2.4 数据传递过程1、Docker网络模式在讨论Kubernetes网络之前,让我们先来看一下Docker网络。Docker采用插件化的网络模式,默认提供bridge、host、none、overlay、maclan和Network plugins这几种网络模式,运行容器时可以通过
  • 如何为Kubernetes创建本地开发环境?(How to create a local development environment for Kubernetes?)
    问题 Kubernetes似乎只不过是将容器部署到集群云中。 似乎没有碰到的是开发和暂存环境(或类似环境)。 在开发过程中,您希望通过一些重要的更改尽可能地接近生产环境: 本地部署(或至少在您只有您可以访问的地方) 在页面刷新上使用最新的源代码(假设其网站;理想情况下,在本地文件保存上页面自动刷新,如果您挂载源代码并使用诸如Yeoman之类的东西,则可以完成此操作)。 同样,人们可能希望非公共环境进行持续集成。 Kubernetes是否支持这种开发环境,还是必须构建某种东西,以希望在生产期间它仍然可以工作? 回答1 更新(2016-07-15) 随着Kubernetes 1.3的发布,现在推荐使用Minikube在本地计算机上运行Kubernetes进行开发。 您可以通过Docker在本地运行Kubernetes。 一旦节点运行,就可以启动具有简单Web服务器的Pod,并从主机上装入卷。 当您点击Web服务器时,它将从该卷中读取内容;如果您更改了本地磁盘上的文件,则它可以提供最新版本。 回答2 我们一直在研究一种工具来做到这一点。 基本思想是,您拥有远程Kubernetes集群,有效地是一个暂存环境,然后在本地运行代码,并将其代理到远程集群。 您可以获得透明的网络访问,环境变量的复制,对卷的访问……与远程环境尽可能接近,但是您的代码在本地运行并在您的完全控制之下。 这样
  • kubernetes-----部署单master的二进制群集
    目录 一.单master的二进制集群分析 二.实验环境分析 三.具体部署 基础环境配置 部署etcd集群 部署flannel网络 部署master组件 部署node组件 一.单master的二进制集群分析 单节点的架构图 master组件 我们需要再master部署三大核心组件kube-apiserver:是集群的统一入口,各个组件的协调者,所有对象资源的增删改查和监听操作都交给APIserver处理,再提交给etcd存储。kue-controller-manager:处理群集中常规的后台任务,一个资源对应一个控制器,而controller-manager就是负责管理这些控制器。kube-scheduler:根据调度算法为新创建的pod选择一个node节点,可以任意部署,可以部署同一个节点上,也可以部署在不同节点上。 node组件 kublet:kube是master在node节点上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等工作。kubelet将每个pod转换成一组容器kebe-proxy:在node节点上实现pod网络代理,维护网络规划和四层负载均衡的工作docker engine:docker引擎 etcd群集 etcd是CoreOS团队于为2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值
  • kubernetes安装步骤
    文章目录 1.系统初始化设置系统主机名以及 Host 文件的相互解析安装依赖包设置防火墙为 Iptables 并设置空规则关闭 交换分区 和 SELINUX调整内核参数,对于 K8S调整系统时区关闭系统不需要服务设置 rsyslogd 和 systemd journaldCentOS7内核升级 2.Kubeadm 部署安装kube-proxy开启ipvs的前置条件CentOS7安装docker安装 Kubeadm (主从配置)初始化主节点加入主节点以及其余工作节点部署网路加入工作节点 1.系统初始化 设置系统主机名以及 Host 文件的相互解析 hostnamectl set-hostname k8s-master01 安装依赖包 yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git 设置防火墙为 Iptables 并设置空规则 systemctl stop firewalld && systemctl disable firewalld yum -y install iptables-services && systemctl start iptables && systemctl enable iptables &
  • 如何使用Kubernetes GPU集群自动化深度学习训练?
    作者|Frederic Tausch译者|CarolGuo审校 | 陈思该指南能帮助同行研究者和爱好者们轻松地使用 Kubernetex GPU 集群来自动化和加速他们的深度学习训练。因此,我将解释如何轻松地在多个 Ubuntu 16.04 裸机服务器上搭建一个 GPU 集群,并提供一些有用的脚本和.yaml 文件来完成这些工作。另外,如果你需要把 Kubernetes GPU 集群用于其他地方,该指南可能对你也有帮助。为什么写这个指南? 我一直在创业公司 understand.ai 实习,在那里我留意到了一个麻烦:首先得在本地设计一个机器学习算法,然后将其放到云上用不同的参数和数据集来训练模型。这第二步,将算法放到云上进行全面的训练,所耗费的时间要比想象的更长,通常让人很沮丧而且涉及到很多陷阱。因此,我决定解决这个问题,让第二步变得容易、简单和快捷。我写了这篇很有用的指南,描述了每个人如何设置他们自己的 Kubernetes GPU 集群来加速他们的工作。 给深度学习研究者的新处理过程: 用 Kubernetes GPU 集群进行自动化的深度学习训练,它能极大地改进在云上训练模型的过程。(点击放大图像) 声明 下面的章节可能有些武断。Kubernetes 是一个进化的、快节奏的环境,这就意味着这个指南很可能会在某个时间过时,这取决于作者的空余时间和个人贡献。因此
  • 从KubeOperator开启k8s之旅
    文章目录1 环境要求2 下载离线包什么是KbueOperator?KubeOperator 的技术优势部署方式部署模式Kubernetes 离线安装包安装环境准备安装 KubeOperator访问 KubeOperator升级 KubeOperator什么是KbueOperator?FIT2CLOUD飞致云在2019年11月正式对外发布了容器领域第一个项目——KubeOperatorKubeOperator 是一个开源项目,在离线网络环境下,通过可视化 Web UI 在 VMware、Openstack 或者物理机上规划、部署和运营生产级别的 Kubernetes 集群。KubeOperator 是 Jumpserver 明星开源团队在 Kubernetes 领域的的又一全新力作。KubeOperator的产品架构如图:KubeOperator 的技术优势按需创建:调用云平台 API,一键快速创建和部署 Kubernetes 集群 (即 Kubernetes as a Service);按需伸缩:快速伸缩 Kubernetes 集群,优化资源使用效率;按需修补:快速升级和修补 Kubernetes 集群,并与社区最新版本同步,保证安全性;自我修复:通过重建故障节点确保集群可用性;离线部署:持续更新包括 Kubernetes 及常用组件的离线包;Multi-AZ 支持:通过把
  • How to change the default nodeport range on Mac (docker-desktop)?
    How to change the default nodeport range on Mac (docker-desktop)? I'd like to change the default nodeport range on Mac. Is it possible? I'm glad to have found this article: http://www.thinkcode.se/blog/2019/02/20/kubernetes-service-node-port-range. Since I can't find /etc/kubernetes/manifests/kube-apiserver.yaml in my environment, I tried to achieve what I want to do by running sudo kubectl edit pod kube-apiserver-docker-desktop --namespace=kube-system and add the parameter --service-node-port-range=443-22000. But when I tried to save it, I got the following error: # pods "kube-apiserver
  • Kubernetes部署Prometheus+Grafana监控
    Kubernetes部署Prometheus+Grafana监控 一. 安装 1.下载Prometheus,Grafana的yaml文件 git clone https://github.com/redhatxl/k8s-prometheus-grafana.git2. [docker@server88 promethues]$ ll 总用量 40 -rw-rw-r--. 1 docker docker 5630 2月 18 16:00 configmap.yaml -rw-rw-r--. 1 docker docker 1473 2月 18 16:01 grafana-deploy.yaml -rw-rw-r--. 1 docker docker 255 2月 18 16:01 grafana-ing.yaml -rw-rw-r--. 1 docker docker 224 2月 18 16:01 grafana-svc.yaml -rw-rw-r--. 1 docker docker 666 2月 18 16:02 node-exporter.yaml -rw-rw-r--. 1 docker docker 1118 2月 18 16:03 prometheus.deploy.yml -rw-rw-r--. 1 docker docker 61 2月 18 16:06
  • 云服务器-异地部署集群服务-Kubernetes(K8S)-Kubeadm安装方式-完整篇
    文章目录 一、前言此方法安装集群后,无法再添加控制节点,**不推荐使用**。1.0 问题1.1 绑定弹性网卡1.2 二进制安装1.3 虚拟网卡+`kubeadm`安装 二、 准备(所有节点)2.1 调整内核参数2.2 调整系统时区2.3 关闭系统不需要的服务2.4 设置`rsyslogd`和`systemd journald`2.5 `ipvs`前置条件准备2.6 `Docker`安装2.7 关闭swap分区2.8 `Kubeadm`、`Kubelet`、`Kubectl`安装2.9 云服务器控制面板打开相应端口 三、安装3.1 建立虚拟网卡(所有节点)3.2 修改`kubelet`启动参数(重点,所有节点都要操作)3.3 使用`kubeadm`初始化主节点(主节点)3.4 修改`kube-apiserver`参数(主节点)3.5 工作节点加入集群(工作节点)3.6 检查是否加入集群(主节点)3.7 修改`flannel`文件并安装(主节点)3.8 检查网络是否连通(主节点)3.9 手动开启配置,开启`ipvs`转发模式(主节点)3.10 移除虚拟网卡 一、前言 此方法安装集群后,无法再添加控制节点,不推荐使用。 请看下篇文章: 云服务器-异地部署集群服务-Kubernetes(K8S)-Kubeadm-外部ETCD服务-多master节点-安装篇 1.0 问题 云服务器
  • Kubernetes 网络实现——Pod网络
    引言 前面我们已经介绍了 Kubernetes 的各方面实现方案,但是网络这块比较复杂,所以我们这里单独用来进行介绍,网络部分主要分 5 个部分,即 Pod 网络,Service 网络,外网通讯、LoadBalance、Ingress,本文介绍其中的第一个部分 Pod 网络。 网络原理 作为拓展,这里我们以 flannel 为例展开介绍一下 Kubernetes 内网络通讯的实现。在介绍之前,我们得先明确 Kubernetes 中的三种网络的概念: node network:承载 kubernetes 集群中各个“物理”Node(master 和 worker)通信的网络service network:由 kubernetes 集群中的 Services 所组成的“网络”,它的范围在启动集群的时候进行了配置flannel network:即 Pod 网络,集群中承载各个 Pod 相互通信的网络,它的范围在启动集群和启动网络插件的时候进行了配置 node network 自不必多说,node 间通过其局域网(无论是物理的还是虚拟的)通信。 Pod 网络 pod 网络即 flannel network 是我们要理解的重点,cluster 中各个 Pod 要实现相互通信,必须走这个网络,无论是在同一 node 上的 Pod 还是跨 node 的 Pod。这里以我的集群为例,介绍