容器技术

k8s重要概念及部署k8s集群(一)

佐手、 提交于 2019-11-28 05:22:27
k8s介绍 Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。 Kubernetes优势: – 容器编排 – 轻量级 – 开源 – 弹性伸缩 – 负载均衡 重要概念 1. cluster cluster是 计算、存储和网络资源的集合,k8s利用这些资源运行各种基于容器的应用。 2.master master是cluster的大脑,他的主要职责是调度,即决定将应用放在那里运行。master运行linux操作系统,可以是物理机或者虚拟机。为了实现高可用,可以运行多个master。 3.node node的职责是运行容器应用。node由master管理,node负责监控并汇报容器的状态,同时根据master的要求管理容器的生命周期。node运行在linux的操作系统上,可以是物理机或者是虚拟机。 4.pod pod是k8s的最小工作单元。每个pod包含一个或者多个容器。pod中的容器会作为一个整体被master调度到一个node上运行。 5.controller k8s通常不会直接创建pod,而是通过controller来管理pod的。controller中定义了pod的部署特性,比如有几个剧本

k8s云集群混搭模式,可能帮你节省50%以上的服务成本

 ̄綄美尐妖づ 提交于 2019-11-28 05:20:32
现在大部分中小企业或团队都是使用云平台来部署自己的服务,如阿里云,亚马逊云等。一般来说,业务的负载都具备一定的规律,比如每天集中在某几个小时,或呈现时间段周期性波峰、波谷交替的现象,如下图 如果使用ECS来部署服务,则可能大部分时间ECS的资源没有得到充分利用,造成成本浪费,尤其对于像GPU之类成本较高的资源就更加了。这个时候,我们可以考虑使用云集群的混搭模式来节约成本。 业务场景 假设有一个这样的业务场景,包括如下特点及要求: 整个系统包括业务服务与两层视觉服务 各层服务之间调用需做负载均衡 每天的业务量主要集中在上午几个小时 平时业务量较低时仍要保证服务可用 尽可能降低成本,尤其是GPU服务器成本(GPU贵啊) k8s云集群混搭模式 现在各大云平台都已经提供容器云服务,如阿里云有基于ECI(弹性容器实例)的Serverless Kubernetes集群服务,基于ECS节点不需要提供master的Kubernetes托管版集群服务,及自己提供master的Kubernetes专有版集群服务等。为了迎合类似上述业务场景的需求,也提供了Kubernetes + virtual node(虚拟节点)的混合集群服务,如下图所示 其中的虚拟节点基于ECI支持多种功能,如GPU容器实例、大规格容器实例等,增强了Kubernetes集群的弹性,使集群不局限于ECS节点的资源,做到弹性无限扩容。

Docker的简介、安装、基本操作

本秂侑毒 提交于 2019-11-28 04:18:12
1、简介 Docker 是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像; 运行中的这个镜像称为容器,容器启动是非常快速的。 2、核心概念 docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上); docker客户端(Client):连接docker主机进行操作; docker仓库(Registry):用来保存各种打包好的软件镜像; docker镜像(Images):软件打包好的镜像;放在docker仓库中; docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用 使用Docker的步骤: 1)、安装Docker 2)、去Docker仓库找到这个软件对应的镜像; 3)、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器; 4)、对容器的启动停止就是对软件的启动停止; 3、 在linux虚拟机上安装docker 1、检查内核版本,必须是3.10及以上 uname -r 2、安装docker yum install docker 3、输入y确认安装 4、启动docker [root@localhost ~]# systemctl start docker [root

DevOps与Kubernetes 、容器的关系

ε祈祈猫儿з 提交于 2019-11-28 04:06:06
近两年,随着容器、Kubernetes 等技术的兴起,DevOps 这个概念被广泛提及并被大量使用。 本文将会从以下几个方面着手,结合实验展现的方式,让读者真正理解 DevOps 的含义。 DevOps 产生的背景 DevOps 与容器、Kubernetes 之间的关系 DevOps 的常用工具 DevOps 是什么 DevOps 中的 Dev 指的 Development,Ops 指的是的 Operations,用一句话来说 DevOps 就是打通开发运维的壁垒,实现开发运维一体化。 从瀑布式开发到敏捷开发 谈到 DevOps 的发展史,我们需要先谈一下敏捷开发。 首先,敏捷开发是面向软件的,而软件依赖于计算硬件。我们知道,世界上第一台计算机是在 1946 年出现的。因此,软件开发相对于人类历史而言,时间并不长。相对于软件开发方法论的掌握,人们更擅长于工程学,如盖楼、造桥等。为了推动软件开发,1968 年,人们将工程学的方法应用到软件领域,由此产生了软件工程。 软件工程的方式有其优点,但带来了不少问题。最关键一点是:软件不同于工程。通过工程学建造的大桥、高楼在竣工后,人们通常不会对大桥高楼的主体有大量使用需求的变更;但软件却不同。对于面向最终用户的软件,人们对于软件功能的需求是会不断变化的。在瀑布式开发的模式下,当客户对应用有变化的需求时,软件厂商得重新开发软件

美团后台面经

末鹿安然 提交于 2019-11-28 03:12:51
日期:2019.08.21 1、14道选择题,一道编程题(十进制转十六进制)30分钟左右做完 3、介绍一下做过的项目,功能、技术、负责哪些部分? 2、struct和class的区别 3、C++模板关键字 4、纯虚函数作用,纯虚函数可不可以有实现体? 5、linux I/O 模型,几种方式(从select答到epoll) 6、STL常用的容器及用法 7、如果元素是复杂的结构体,map插入时怎么处理? 8、动态库和静态库,动态库有几种调用方式? 9、linux大小端模式(说了高位地址、低位地址) 10、有什么问题问我? 感觉C++底层的知识答得不太好,也确实是自己理解得不够深入,继续加油吧! 来源: https://www.cnblogs.com/myblog1993/p/11388243.html

Docker端口映射及创建镜像演示(二)

佐手、 提交于 2019-11-28 03:11:37
Docker暴露容器方法 第一种:将容器中的一个端口映射成宿主机中的一个随机端口 第二种:将容器中的一个端口映射成宿主机中的一个端口 第三种:将容器中的一个端口映射成宿主机中的一个特定网卡上的随机端口 第四种:将容器中的一个端口映射成宿主机中的一个特定网卡上的一个端口 【使用多次-p选项可以实现暴露多个端口】 Docker端口映射的四种方法使用演示 第一种:将容器中的一个端口映射成宿主机中的一个随机端口 下面的操作确保虚拟机是在桥接模式 第一步:下载httpd镜像 [root@ken ~]# docker pull httpd [root@ken ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE httpd latest 2a51bb06dc8b 12 days ago 132MB redis latest 55cb7014c24f 5 months ago 83.4MB 第二步:启动httpd容器 –name: 指定容器名 -d: 后台运行 -P: 大写的P,映射随机端口(暴露容器内所有端口,映射到宿主机的随机端口) –rm: 表示退出容器时删除容器 [root@ken ~]# docker container run --name httpd1 -d -P --rm httpd 第三步:查看端口

【官方】Unity 机器学习 ML-Agents (三)使用Docker实现ML-Agents功能

人盡茶涼 提交于 2019-11-27 23:11:10
原文: https://mp.weixin.qq.com/s?__biz=MzU5MjQ1NTEwOA==&mid=2247492034&idx=1&sn=9b939f8c8a3e6c3e37ba7eb14002f221&chksm=fe1dd569c96a5c7f65eb20f989722f5fbd1cca1c9aeacb388480df2cdfd0ec11049a8f2f5007&mpshare=1&scene=1&srcid=0502YLzroxHLPOaIMR5jLPgo#rd 之前已经为大家介绍过《 Mac下配置Unity机器学习代理工具 》和《 Windows 10下配置Unity机器学习代理工具和TensorFlow环境 》,但是还是不少开发者表示配置环境是个难题,一部分使用者对于安装TensorFlow、Python等工具链比较头疼。 现在随着 Unity机器学习工具ML-agents v0.3 beta版的发布 ,今天由Unity技术经理鲍健运向各位推荐一种比较方便的“实验性”解决方案: 使用Docker在Windows和Mac平台下进行ML-Agents的训练与推理 。 这种解决方案还存在一些限制: 目前的设置会强制让TensorFlow和Unity使用CPU进行计算。(当然,如果你是没有N卡的Mac用户,原来的解决方案也是一样的情况。)

DevOps的概念及常用工具集

女生的网名这么多〃 提交于 2019-11-27 22:07:27
DevOps的概念及常用工具集 一、DevOps的概念 DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。 它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。以 IT 自动化以及持续集成(CI,Continuous Integration)、持续部署(CD,Continuous Deployment)为基础,来优化程序开发、测试、系统运维等所有环节。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 DevOps是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协作关系。不过需要澄清的一点是,从开发到运维,中间还有测试环节。DevOps其实包含了三个部分:开发、测试和运维。 回顾软件行业的研发模式,可以发现大致有三个阶段:瀑布式开发、敏捷开发、DevOps。DevOps很早之前就被提出来,但是,这两年才开始受到越来越多的企业重视和实践。因为DevOps的发展是独木不成林的,现在有越来越多的技术支撑。微服务架构理念、容器技术使得DevOps的实施变得更加容易,计算能力提升和云环境的发展使得快速开发的产品可以立刻获得更广泛的使用。 二

Docker基础了解(一)

Deadly 提交于 2019-11-27 21:48:57
1.Docker为什么会出现 2.Docker 理念 Docker 是基于 Go 语言实现的云开源项目。主要目标是“ build , ship and run any app , anywhere ”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的 app (可以是一个 web 应用或数据库应用等)及其运行环境能够做到 “ 一次封装,处处运行” Linux 容器技术的出现就解决了这样一个问题,而 docker 就是在它的基础上发展过来的。将应用运行在 docker 容器上,而 docker 容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务,只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。 一次构建、随处运行: 更快速的应用交付和部署;更便捷的升级和扩缩容;更简单的系统运维;更高效的计算资源利用 3.Docker 是什么 解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术 4.Docker 能干什么 1)之前的虚拟化技术 虚拟机的缺点:资源占用多;冗余步骤多;启动慢 2)容器虚拟化技术 5.Docker 优势 *轻量,秒级的快速启动速度 *简单,易用,活跃的社区 *标准统一的打包、部署、运行方案 *镜像支持增量分发,易于部署 *易于构建,良好的REST API,也很适合自动化测试和持续集成 *性能

区块链解读6-区块链框架分析+超级账本(Hyperledger Fabric)基础

橙三吉。 提交于 2019-11-27 21:46:21
解读区块链,区块链框架分析+超级账本(Hyperledger Fabric)基础 写了几篇区块链基础知识点的文章,自己也在尝试搭建环境,本人不是区块链从业者、区块链技术只是出于个人兴趣,现在开始文章分两部分,一部分继续区块链概念的解读,另一部分记录自己实践操作。 区块链框架: 目前对区块链的框架有很多不同的认识,比较得到共识的一般有四层或者五层架构。 五层架构: 来源于: http://blog.csdn.net/sportshark/article/details/53364690 应用层:主要客户端完成记账转账验证的功能。 激励层:这一层个人感觉完全是为比特币的挖矿定义的,块的生产有一定的奖励,也就是数字货币发行方式,另外区块链中环境中也认为是一种交易费,类似ETH中的GAS。 共识层:这一层主要为了保证分布式系统的一致性,保证网络中即使有恶意节点也能达成共识,同时避免“双花”问题和保证区块生成时间。 网络层:P2P网络点对点技术,这个不是个新鲜事物,很多年前的BT电影下载就是用的这个技术。 数据层:这一层包含了区块数据、链结构、数字签名、哈希函数、merkle树等一系列加密和存储技术。 四层架构中有两种定义: 四层架构一: 来源于: http://www.8btc.com/ebook-blockchain 作者是定义为三层架构,协议层、扩展层、应用层