转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 第一章:Docker与k8s的恩怨情仇(一)-成为PaaS前浪的Cloud Foundry 第二章:Docker与k8s的恩怨情仇(二)-用最简单的技术实现"容器" 第三章:Docker与k8s的恩怨情仇(三)-后浪Docker来势汹汹 第四章:Docker与k8s的恩怨情仇(四)-云原生时代的闭源落幕 第五章:Docker与k8s的恩怨情仇(五)--Kubernetes的创新 第六章:Dock…
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天我们继续来为大家介绍Docker走向落寞的原因以及大航海时代的开启. Docker的商业化 上篇中,我们讲到了Docker项目利用自己创新的Docker Image瞬间爆红,于是许多商家也从中发现商机,纷纷推出自己的容器产品,也想在市场中分一杯羹. CoreOS推出了Rocket(rkt)容器,Go…
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 大家在工作中或许或多或少都接触过Docker,那你知道Docker以及容器化背后的原理到底是什么吗? 容器化技术满天下,那为什么只有Docker被大家所熟知呢? 后Docker时代,到底谁才是云原生时代的王者? 我们相信本系列文章能帮您解答这些疑惑. 被"嫌弃"的物理服务器 在云时代以前,开发者如需构建一个线上的站点,必须自己维护物理服务器.但是随着业务发展,大体量服务器逐渐增多,随之而来的是硬…
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上节中我们提到了社区生态的发展使得Kubernetes得到了良性的发展和传播.比起相对封闭的Docker社区开放的CNCF社区获得了更大成功,但仅仅是社区的活力对比还不足以让Docker这么快的败下阵来,其根本原因是Kubernetes的对容器编排技术的理解比起Docker更胜一筹.这种优势几乎是压到性的降维打击,Docker毫无还手之力. 接下来便为大家介绍在这场容器大战之中,Kubernetes如何占…
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上次我们说到PaaS的发展历史,从Cloud Foundry黯然退场,到Docker加冕,正是Docker"一点点"的改进,掀起了一场蝴蝶效应,煽动了整个PaaS开源项目市场风起云涌. 为了让大家更好的理解"容器"这个PaaS中最核心的技术,本篇将从一个进程开始,为大家讲述容器到底是什么,Cloud Foundry等PaaS"前浪"是如何实现容器的. 进程…
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在上节中,我们为大家介绍了Pod的基础内容,Kubernetes如何站在上帝视角上处理容器和容器之间的关系.但仅仅有Pod却还不够,对于大部分用户而言如何调度和管理自己的应用才是真正核心的问题,而对这一内容的解决方案才是Kubernetes最终极大杀器. Pod间的编排管理 让我们从一个例子出发,假设现在的用户需求是: 以3机负载均衡的形式部署一个私有云客户的活字格应用,应该如何实现呢? Docker的"…
在系统介绍了如何实际部署一个K8S项目后,作为本系列文章的最后一篇,我们一起来看看Kubernetes集群内容总览,再对一些更深层次的功能进行总结. Kubernetes总览 下图是一个k8s的总览结构内容 可以看到图中提到的这些功能模块中,还有一些是在本文中并没有出现的: l  ConfigMap 用来存储用户配置文件定义的,通过其内部的Volume投射技术实现,其实也是Volume挂载的一种方式.这种方式不仅可以实现应用程序被的复用,而且还可以通过不同的配置实现更灵活的功能.在创建容器时,用…
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上一节我们为大家介绍了Cloud Foundry等最初的PaaS平台如何解决容器问题,本文将为大家展示Docker如何解决Cloud Foundry遭遇的一致性和复用性两个问题,并对比分析Docker和传统虚拟机的差异. Docker相比于Cloud Foundry的改进 利用"Mount Namespace"解决一致性问题 在本系列文章的第一节中,我们提到Docker通过Docker 镜像(D…
Kubernetes在创建Pod时,会为Pod和容器设置一些额外的信息,比如Pod名称.Pod IP.Node IP.Label.Annotation.资源限制等,我们经常会在应用程序中使用到这些数据,比如利用Pod名称作为应用日志的字段,方便分析日志.为了能在容器内获取这些信息,我们可以使用Downward API机制来实现. Downward API可以通过环境变量和Volume挂载这两种方式将Pod信息注入容器,我们分别来看一下: 一.环境变量方式 我们还是以Busybox为例进行演示,我…
kubectl作为我们主要的操作K8S的工具,其具备非常丰富的功能,但是如果不经过打磨,使用起来还是存在诸多不便,今天我们来看看如何将我们的kubectl打磨的更加易用. 一.命令自动补全 kubectl中提供非常多的命令,如果每一次都要手动一个字符一个字符的敲未免太累了,那么如何配置自动补全呢?这里以ubuntu系统为例: 1.安装auto-completion工具 $ sudo apt update Hit:1 http://archive.ubuntu.com/ubuntu bionic…