容器

用 k8s 运行一次性任务 - 每天5分钟玩转 Docker 容器技术(132)

可紊 提交于 2020-02-16 05:23:46
容器按照持续运行的时间可分为两类:服务类容器和工作类容器。 服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等。工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。 Kubernetes 的 Deployment、ReplicaSet 和 DaemonSet 都用于管理服务类容器;对于工作类容器,我们用 Job。 先看一个简单的 Job 配置文件 myjob.yml: ① batch/v1 是当前 Job 的 apiVersion 。 ② 指明当前资源的类型为 Job 。 ③ restartPolicy 指定什么情况下需要重启容器。对于 Job,只能设置为 Never 或者 OnFailure 。对于其他 controller(比如 Deployment)可以设置为 Always 。 通过 kubectl apply -f myjob.yml 启动 Job。 kubectl get job 查看 Job 的状态: DESIRED 和 SUCCESSFUL 都为 1 ,表示按照预期启动了一个 Pod,并且已经成功执行。 kubectl get pod 查看 Pod 的状态: 因为 Pod 执行完毕后容器已经退出,需要用 --show-all 才能查看 Completed 状态的 Pod。 kubectl logs 可以查看 Pod

为什么 kubernetes 天然适合微服务 (3)

ぃ、小莉子 提交于 2020-02-16 03:56:04
此文已由作者刘超授权网易云社区发布。 欢迎访问 网易云社区 ,了解更多网易技术产品运营经验 四、Kubernetes 本身就是微服务架构 基于上面这十个设计要点,我们再回来看 Kubernetes,会发现越看越顺眼。 首先 Kubernetes 本身就是微服务的架构,虽然看起来复杂,但是容易定制化,容易横向扩展。 如图黑色的部分是 Kubernetes 原生的部分,而蓝色的部分是网易云为了支撑大规模高并发应用而做的定制化部分。 Kubernetes 的 API Server 更像网关,提供统一的鉴权和访问接口。 众所周知,Kubernetes 的租户管理相对比较弱,尤其是对于公有云场景,复杂的租户关系的管理,我们只要定制化 API Server,对接 Keystone,就可以管理复杂的租户关系,而不用管其他的组件。 在 Kubernetes 中几乎所有的组件都是无状态化的,状态都保存在统一的 etcd 里面,这使得扩展性非常好,组件之间异步完成自己的任务,将结果放在 etcd 里面,互相不耦合。 例如图中 pod 的创建过程,客户端的创建仅仅是在 etcd 中生成一个记录,而其他的组件监听到这个事件后,也相应异步的做自己的事情,并将处理的结果同样放在 etcd 中,同样并不是哪一个组件远程调用 kubelet,命令它进行容器的创建,而是发现 etcd 中,pod 被绑定到了自己这里

为什么 kubernetes 天然适合微服务 (3)

我是研究僧i 提交于 2020-02-16 03:44:17
此文已由作者刘超授权网易云社区发布。 欢迎访问 网易云社区 ,了解更多网易技术产品运营经验 四、Kubernetes 本身就是微服务架构 基于上面这十个设计要点,我们再回来看 Kubernetes,会发现越看越顺眼。 首先 Kubernetes 本身就是微服务的架构,虽然看起来复杂,但是容易定制化,容易横向扩展。 如图黑色的部分是 Kubernetes 原生的部分,而蓝色的部分是网易云为了支撑大规模高并发应用而做的定制化部分。 Kubernetes 的 API Server 更像网关,提供统一的鉴权和访问接口。 众所周知,Kubernetes 的租户管理相对比较弱,尤其是对于公有云场景,复杂的租户关系的管理,我们只要定制化 API Server,对接 Keystone,就可以管理复杂的租户关系,而不用管其他的组件。 在 Kubernetes 中几乎所有的组件都是无状态化的,状态都保存在统一的 etcd 里面,这使得扩展性非常好,组件之间异步完成自己的任务,将结果放在 etcd 里面,互相不耦合。 例如图中 pod 的创建过程,客户端的创建仅仅是在 etcd 中生成一个记录,而其他的组件监听到这个事件后,也相应异步的做自己的事情,并将处理的结果同样放在 etcd 中,同样并不是哪一个组件远程调用 kubelet,命令它进行容器的创建,而是发现 etcd 中,pod 被绑定到了自己这里

Docker三十分钟快速入门(下)

微笑、不失礼 提交于 2020-02-15 23:06:13
一、背景   上篇文章我们进行了Docker的快速入门,基本命令的讲解,以及简单的实战,那么本篇我们就来实战一个真实的项目,看看怎么在产线上来通过容器技术来运行我们的项目,来达到学会容器间通信以及docker-compose学习以及docker网络模型学习的目的。 二、项目描述 创建Todo应用,功能很简单,实现创建Task关联Task分类,以及更新Task的完成状态的功能。 项目运行后的主界面如下:      三、启动项目 因为是使用git管理的maven java项目,所以需要首先在服务器上安装java、maven、git 三大件     传送门: Centos7下Java开发基本环境搭建 Git入门教程传送门: 谈谈分布式版本管理工具Git 接着把github上的项目源码clone到本地 git clone https://github.com/hafizzhang/mysql-spring-boot-todo.git 进入到项目根目录 cd mysql-spring-boot-todo 使用maven命令进行打包项目并且使用docker命令进行build镜像 mvn clean package docker:build 用容器启动mysql 5.6版本 docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -e

docker(一)

霸气de小男生 提交于 2020-02-15 22:57:51
一、docker 概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何借口,几乎没有性能开销,可以很容易地在机器和数据中心运行。最重要的是,他们不依赖与任何语言、框架或者包装系统。   现在接触的软件是怎么发布的?   windows 下的 2-16-office.exe,不能在 xp 上运行;mk.rpm 在 redhat 系统 linux 上运行,但是不能再其他linux 版本上运行。现在发布的软件包和系统相关。   LXC 为 linux container 的简写,linux container 容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其它复杂性。   LXC 主要通过来自 kernel 的 namespace 实现每个用户实例之间的相互隔离,通过cgroup 实现对资源的配额和度量。 总结:相对 VM 虚拟机,少了虚拟操作系统这一层,所以 docker 效率高。 二、工作流程。 工作流程:服务器 A 上运行 docker Engine 服务,在 docker Engine 上启动很多容器 container,从外网 Docker Hub 上把

为什么 kubernetes 天然适合微服务

梦想的初衷 提交于 2020-02-15 22:49:12
本文由 网易云 发布。 作者:刘超,网易云首席解决方案架构师 最近总在思考,为什么在支撑容器平台和微服务的竞争中,Kubernetes 会取得最终的胜出,事实上从很多角度出发三大容器平台从功能方面来看,最后简直是一摸一样。(可参考 《容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?》 ) 经过一段时间的思索,以及采访了从早期就开始实践 Kubernetes 的 网易云 架构师们后,我把反思所得总结为今天的这篇文章。 一、从企业上云的三大架构看容器平台的三种视角 如图所示,企业上云的三大架构为 IT 架构、应用架构和数据架构,在不同的公司,不同的人、不同的角色,关注的重点不同。 对大部分的企业来讲,上云的诉求是从 IT 部门发起的,发起人往往是运维部门,他们关注计算、网络、存储,试图通过云计算服务来减轻 CAPEX 和 OPEX。 有的公司有 ToC 的业务,因而累积了大量的用户数据,公司的运营需要通过这部分数据进行大数据分析和数字化运营,因而在这些企业里面往往还需要关注数据架构。 从事互联网应用的企业,往往首先关注的是应用架构,是否能够满足终端客户的需求,带给客户良好的用户体验。业务量上往往会有短期内出现爆炸式增长的现象,因而关注高并发应用架构,并希望这个架构可以快速迭代,从而抢占风口。 在容器出现之前,这三种架构往往通过虚拟机云平台的方式解决。当容器出现之后

Docker

若如初见. 提交于 2020-02-15 18:32:03
什么是容器 容器技术已经成为应用程序封装和交付的核心技术 容器技术的核心有以下几个内核技术组成: Cgroups( Control Groups)-资源管理 NameSpace-进程隔离 SELinux安全 由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速 什么是Docker Docker是完整的一套容器管理系统 Docker提供了一组命令,让用户更加方便直接地使 用容器技术,而不需要过多关心底层内核技术 Docker特性 1)Docker优点 相比于传统的虚拟化技术,容器更加简洁高效 传统虚拟机需要给每个VM安装操作系统 容器使用的共享公共库和程序 2)Docker缺点 容器的隔离性没有虚拟化强 共用Linux内核,安全性有先天缺陷 SELinux难以驾驭 监控容器和容器排错是挑战 部署Docker 1)环境准备 需要64位操作系统 至少RHEL65以上的版本,强烈推荐RHEL7 卸载firewalld 2)安装Docker docker虚拟机配置 2核,1G内存,4台,能访问外网 192.168.1.100repo(yum服务器) 192.168.1.30 registry(容器仓库) 192.168.1.31 docker1(容器主机1) 192.168.1.32 docker2(容器主机2) 配置yum源 docker软件包位于光盘Rhl7 -extras

Spring IOC原理学习笔记

烈酒焚心 提交于 2020-02-15 10:02:25
Spring容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。 IOC容器介绍 pring 通过一个配置文件描述 Bean 及 Bean 之间的依赖关系,利用 Java 语言的反射功能实例化 Bean 并建立 Bean 之间的依赖关系。 Spring 的 IoC 容器在完成这些底层工作的基础上,还提供了 Bean 实例缓存、生命周期管理、 Bean 实例代理、事件发布、资源装载等高级服务。 BeanFactory 是 Spring 框架的基础设施,面向 Spring 本身; ApplicationContext 面向使用 Spring 框架的开发者,几乎所有的应用场合我们都直接使用 ApplicationContext 而非底层的 BeanFactory。 BeanFactory BeanFactory体系架构: BeanDefinitionRegistry: Spring 配置文件中每一个节点元素在 Spring 容器里都通过一个 BeanDefinition 对象表示,它描述了 Bean 的配置信息。而 BeanDefinitionRegistry 接口提供了向容器手工注册 BeanDefinition

Docker 学习笔记(一)

≯℡__Kan透↙ 提交于 2020-02-15 09:38:31
0x00 前言 一直使用过docker,但并不是太了解,于是开始学习了解一下 0x01 docker简介 1、什么是容器? 一种虚拟化的方案 操作系统级别的虚拟化 只能运行相同或相似内核的操作系统 依赖于Linux内核特性: Namespace和Cgroups (Control Group) 2、容器技术有哪些优点? 磁盘占用空间少 提供更多的服务能力和服务更多的用户 3、什么是Docker? Docker是能将应用程序自动部署到容器的开源引擎。 使用Go语言编写(Go语言开源引擎) 项目地址 基于Apache2.0开源授权协议发行 docker的特别之处: docker在虚拟化的容器执行环境中增加了一个应用部署引擎。该引擎目标提供一个轻量、快速的环境。 方便从开发者环境->测试环境->生产环境 4、Docker有哪些特点?(Docker的目标) 提供简单轻量的建模方式 职责的逻辑分离 快速高效的开发生命周期 鼓励使用面向服务的架构 5、Docker的使用场景 使用Docker容器开发、测试、部署服务 创建隔离的运行环境 搭建测试环境 构建多用户的平台即服务(PaaS)基础设施 提供软件即服务(SaaS)应用程序 高性能、超大规模的宿主机部署 6、Docker的基本组成 Docker Client 客户端 Docker Daemon 守护进程 Docker Image 镜像

将本地文件上传到Docker容器内指定目录下

本秂侑毒 提交于 2020-02-15 05:39:57
假设我们要将ik分词器传入docker es容器下的plugin目录下 1.将下载好的ik上传至linux服务器 查询docker 容器id 执行 docker cp 目标文件 容器id:目标路径进行复制 docker cp elasticsearch-analysis-ik-7.6.0.zip 4909b402e5e8:/usr/share/elasticsearch/plugins 进入docker容器中查看 复制成功 来源: CSDN 作者: 踟蹰千年 链接: https://blog.csdn.net/baiyan3212/article/details/104315133