容器技术

kubernetes基础——一文读懂k8s

蹲街弑〆低调 提交于 2020-01-08 17:09:14
容器 容器与虚拟机对比图(左边为容器、右边为虚拟机)   容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术、CGroup(Controll Group)技术和AUFS(Advance UnionFileSystem)技术等,通过对进程和资源加以限制,进行调控,隔离出来一套供程序运行的环境。 我们把这一环境称为“容器”,把构建该“容器”的“只读模板”,称之为“镜像”。   容器是独立的、隔离的,不同容器间不能直接通信,容器与宿主机也是隔离开来的,容器不能直接感知到宿主机的存在,同时宿主机也无法直接窥探容器内部。   虽然容器与宿主机在环境上,逻辑上是隔离的,但容器与宿主机共享内核,容器直接依赖于宿主机Linux系统的内核,这与虚拟机不同,后者是在宿主机的操作系统上,虚拟化一套硬件环境,然后在此环境上运行需要的操作系统。容器技术常用来在宿主机上隔离出环境来部署应用(用容器化技术部署的应用称为 ***“容器化应用”*** ),而虚拟机常用来运行一个与宿主机不同的操作系统,从而运行特定的软件。   容器非常轻量级,无论是启动速度,资源占用情况,灵活性等均优于虚拟机。容器的特性给开发生产提供了非常大的便利: * DevOps理念,开发者可以使用同一个镜像,在开发环境、测试环境和生产环境构建相同的容器

技术沙龙 | 云时代下的架构演进—企业云及云原生技术落地实践

断了今生、忘了曾经 提交于 2020-01-08 16:38:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 云改变了IT行业的形态和市场格局,催生了应用的发展。随着云计算技术的不断演进,作为一名优秀的架构师,必须深入了解云计算平台的特点及架构设计,包括构建数据库、大规模落地微服务、Service Mesh和全链路监控等才能紧跟时代的步伐。 12月21日,京东云开发者社区和英特尔联合举办的「 云时代下的架构演进—企业上云及云原生技术落地实践 」沙龙在北京顺利召开,在本次活动中来自京东技术专家从顶层视角解读京东集团的云化之路、京东物流的上云之路、探寻数据库上云的探索之路、京东云的落地服务网格和DevOps系统,五个模块同现场的百位技术从业者进行了分享与交流。 1 京东的集团上云之路 京东云客户成功部架构师 汤源 对于京东云来说,必定要走一条与其他云厂商不同的道路,而京东云认为,集团上云就是京东云与其他云厂商的重要差异点。因此,集团上云在京东内部就是一个战略方向,京东云客户成功部专家级架构师汤源解释道,京东的战略就是构建以零售为基础的技术与服务。这个技术服务是TO B的技术与业务能力,需要去变现,它必须要有一个商业平台,因此,京东集团做公有云,在战略层面是坚定不移的。京东内部也是非常全面的去认识集团上云,但京东云的集团上云,并不是说要转变京东云的业务方向,也不是狭义上集团把自有业务迁移上云(Cloud Migration)

Serverless Kubernetes 入门:对 Kubernetes 做减法

旧城冷巷雨未停 提交于 2020-01-08 16:38:37
作者 | 贤维 阿里巴巴高级技术专家 导读 :Serverless Kubernetes 是阿里云容器服务团队对未来 Kubernetes 演进方向的一种探索,通过对 Kubernetes 做减法,降低运维管理负担,简化集群管理,让 Kubernetes 从复杂到简单。 背景 Kubernetes 作为通用的容器编排系统,承载了广泛的应用和场景,包括 CI/CD,数据计算,在线应用,AI 等,然而由于其通用性和复杂性,管理一个 Kubernetes 集群对于很多用户而言还是充满挑战的,主要体现在: 学习成本高; 集群运维管理成本高,包括节点管理、容量规划,以及各种节点异常问题的定位; 计算成本在很多场景中没有达到最优,比如对于一个定时运行 Jobs 的集群,长期持有资源池对于用户来说是浪费的行为,资源利用率不高。 对 Kubernetes 集群做减法 无节点管理 我们相信未来用户会更加关注应用的开发,而不是基础设施的维护。体现在 Kubernetes 集群中,我们希望用户能够关注在 pod/service/ingress/job 等应用编排语义上,对底层 node 则可以减少关注。 无需管理节点也可以显著降低集群的运维管理成本,经统计 Kubernetes 常见的异常问题中大多数与节点相关,比如 Node NotReady 问题,也无需担忧 Node 的安全问题

prometheus.(二)监控集群

99封情书 提交于 2020-01-08 14:43:46
目录 node_exporter监控集群节点 1.node-exporter.yaml 2.查看DaemonSet字段 3.启动 prometheus.yaml文件说明 1.Pod的安全策略 2.监控master节点 3.启动参数 4.映射端口 5.服务发现 热更新: prometheu_configmap 配置文件 容器监控 Api-Service 监控 Service 监控 1.添加service监控 2.service添加prometheus标签 3.kube-state-metrics node_exporter监控集群节点 通过prometheus来采集节点的监控指标,可以通过node_exporter获取,node_exporter就是抓取用于采集服务器节点的各种运行指标,目前node_exporter几乎支持所有常见的监控点,比如cpu、distats、loadavg、meminfo、netstat等,详细的监控列表可以参考github repo 这里使用DeamonSet控制器来部署该服务,这样每一个节点都会运行一个Pod,如果我们从集群中删除或添加节点后,也会进行自动扩展 1.node-exporter.yaml # cat >>prometheus-node-exporter.yaml apiVersion: apps/v1 kind: DaemonSet

Serverless Kubernetes 入门:对 Kubernetes 做减法

ぃ、小莉子 提交于 2020-01-08 11:59:16
作者 | 贤维 阿里巴巴高级技术专家 导读 :Serverless Kubernetes 是阿里云容器服务团队对未来 Kubernetes 演进方向的一种探索,通过对 Kubernetes 做减法,降低运维管理负担,简化集群管理,让 Kubernetes 从复杂到简单。 背景 Kubernetes 作为通用的容器编排系统,承载了广泛的应用和场景,包括 CI/CD,数据计算,在线应用,AI 等,然而由于其通用性和复杂性,管理一个 Kubernetes 集群对于很多用户而言还是充满挑战的,主要体现在: 学习成本高; 集群运维管理成本高,包括节点管理、容量规划,以及各种节点异常问题的定位; 计算成本在很多场景中没有达到最优,比如对于一个定时运行 Jobs 的集群,长期持有资源池对于用户来说是浪费的行为,资源利用率不高。 对 Kubernetes 集群做减法 无节点管理 我们相信未来用户会更加关注应用的开发,而不是基础设施的维护。体现在 Kubernetes 集群中,我们希望用户能够关注在 pod/service/ingress/job 等应用编排语义上,对底层 node 则可以减少关注。 无需管理节点也可以显著降低集群的运维管理成本,经统计 Kubernetes 常见的异常问题中大多数与节点相关,比如 Node NotReady 问题,也无需担忧 Node 的安全问题

一小时快速搭建基于阿里云容器服务-Kubernetes的Web应用

大城市里の小女人 提交于 2020-01-07 20:55:49
本文面向的读者 如果您是一个Kubernetes的初学者,本文可以帮助你快速在云上搭建一个可实际使用的集群环境,并发布自己的第一个应用。你无须提前准备任何的硬件资源或者下载任何的软件包。 如果您已经有一个自建的Kubernetes集群,想要尝试阿里云上的托管集群,本文可以帮助你快速完成上手操作,而无需详细阅读阿里云的帮助文档,从而节省您的时间。您可以在有了端到端的初体验之后,再有选择的阅读容器服务和容器镜像服务的帮助文档。 如果你已经有一个传统的部署在云上的Web应用(比如部署在云上的ECS里),想要进行容器化的改造,本文同样可以帮助到您,您甚至无需深入学习Kubernetes,只需了解基本概念即可。 准备代码 本文的操作全部基于阿里云控制台,因此您只需要一个阿里云控制台的登录账号即可。 我们先把应用的代码准备好。请登录 https://code.aliyun.com/ ,登录完成后,访问 https://code.aliyun.com/shengbo.tsb/yunputest ,点击派生项目(fork)的图标。 在随后弹出的确认框里,点击头像确认,完成派生。 备选方案:如果您派生遇到了困难,可以直接从 https://github.com/docker-training/webapp clone这个项目,然后自己通过git push到code.aliyun.com上。

Docker和K8S

白昼怎懂夜的黑 提交于 2020-01-07 20:11:28
2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。 正当他们快要坚持不下去的时候,脑子里蹦出了“开源”的想法。 什么是“开源”?开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。 Open Source,开源 有的软件是一开始就开源的。也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。 2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。 Solomon Hykes(今年刚从Docker离职) 不开则已,一开惊人。 越来越多的IT工程师发现了Docker的优点,然后蜂拥而至,加入Docker开源社区。 Docker的人气迅速攀升,速度之快,令人瞠目结舌。 开源当月,Docker 0.1版本发布。此后的每一个月

docker知识总结

爱⌒轻易说出口 提交于 2020-01-07 18:23:56
目录 一:docker介绍 1.1 window容器和linux容器区别 二:docker命令 三: Dockerfile 四: Docker Compose 五: Docker Machine 六: docker-swarm 七: 实例 一:docker介绍 docker是开源的应用容器引擎,用于linux,现已支持window容器在win10、window2016 1.1 window容器和linux容器区别 参考:https://www.linuxidc.com/Linux/2017-11/148981.htm window新容器Hyper-V容器和Nano Server技术(win10,win2016)技术的落地, 使得最小粒度隔离资源成为可能,为docker for window成为可能 区别: linux容器,内核是linux系统,window是window系统; linux容器共享宿主系统内核,需要base os也可以不需要,但是window一定需要base os; window还提供了一个hyper-v容器来给window容器提供一个隔离资源的最小单元,每个window docker容器下是hyper-v容器下base os系统; 二:docker命令 ------------容器--------------------- 2.启动容器:docker -it

Docker新手入门

杀马特。学长 韩版系。学妹 提交于 2020-01-07 08:28:32
一 Docker概述 1 概述 1.1 容器 容器技术已成为应用程序封装和交付的核心技术 容器技术核心: Cgroups资源管理 NameSpace进程管理 SElinux安全 由于在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速 1.2 Docker Docker是一套完整的容器管理系统 Docker提供一组命令,让用户更加方便直接的使用容器技术,而不需要过多关心底层内核技术 2 Docker特性 六大隔离特性(命名空间) 命名隔离 文件系统隔离 用户认证隔离 进程隔离 网络隔离 信号向量 2.1 Docker优点 相比于传统虚拟化技术,容器更加简洁高效 传统虚拟机需要给每个vm安装操作系统 容器使用的共享公共库和程序 2.2 Docker缺点 容器的隔离性没有虚拟化强 共用linux内核,安全性有先天缺陷 selinux难以驾驭 监控容器和容器排错是挑战 二 部署Docker 1 安装软件 1.1 准备工作 需要64位操作系统 至少需要RHEL6.5以上的版本,强烈推荐RHEL7 推荐关闭防火墙 1.2 安装Docker 1.2.1 配置yum源 mkdir /var/ftp/extras mount -t ios9660 -o ro,loop RHEL7OSP-extras.iso /var/ftp/extras [extras] name=CentOS-

Servlet 工作原理解析

情到浓时终转凉″ 提交于 2020-01-07 04:08:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起。 前面说了 Servlet 容器作为一个独立发展的标准化产品,目前它的种类很多,但是它们都有自己的市场定位,很难说谁优谁劣,各有特点。例如现在比较流行的 Jetty,在定制化和移动领域有不错的发展,我们这里还是以大家最为熟悉 Tomcat 为例来介绍 Servlet 容器如何管理 Servlet。Tomcat 本身也很复杂,我们只从 Servlet 与 Servlet 容器的接口部分开始介绍,关于 Tomcat 的详细介绍可以参考我的另外一篇文章《 Tomcat 系统架构与模式设计分析》。 Tomcat 的容器等级中,Context 容器是直接管理 Servlet 在容器中的包装类 Wrapper,所以 Context 容器如何运行将直接影响 Servlet 的工作方式。 图 1 . Tomcat