04 2018 档案

摘要:[toc] k8s挂载Ceph RBD k8s挂载Ceph RBD有两种方式,一种是传统的PV&PVC的方式,也就是说需要管理员先预先创建好相关PV和PVC,然后对应的deployment或者replication来挂载PVC使用。而在k8s 1.4以后,kubernetes提供了一种更加方便的动态 阅读全文
posted @ 2018-04-15 21:11 breezey 阅读(9790) 评论(0) 推荐(0) 编辑
摘要:[toc] Node的扩缩容 在实际生产系统中经常遇到服务器容量不足的情况,这时候就需要购买新的服务器,对应用系统进行水平扩展以实现扩容。 在k8s中,对一个新的node的加入非常简单,只需要在node节点上安装docker、kubelet和kube proxy服务,然后将kubelet和kube 阅读全文
posted @ 2018-04-15 21:05 breezey 阅读(15555) 评论(0) 推荐(0) 编辑
摘要:环境 主机名 系统 ip地址 角色 ops-k8s-175 ubuntu16.04 192.168.75.175 k8s-master,glusterfs,heketi ops-k8s-176 ubuntu16.04 192.168.75.176 k8s-node,glusterfs ops-k8s 阅读全文
posted @ 2018-04-15 21:04 breezey 阅读(9837) 评论(4) 推荐(0) 编辑
摘要:[toc] 概述 etcd是一个用于共享配置和服务的高可用键值存储系统,由CoreOS使用开发并作为CoreOS的基础服务启动。etcd的灵感来源于Apache ZooKeeper和doozer,其特点: 简单:可用curl进行操作(HTTP+JSON) 安全:可使用SSL客户端证书验证 快速:基准 阅读全文
posted @ 2018-04-15 14:22 breezey 阅读(3425) 评论(0) 推荐(0) 编辑
摘要:[toc] 关于etcd的集群配置可直接参考 "etcd集群部署" 这篇文档只是在其基础上增加ssl加密验证的过程。 要让集群使用ssl,首先需要为集群生成ssl证书。 我们使用cfssl系列工具来生成相关证书。 cfssl相关工具下载 生成etcd所需要的ssl证书 生成ca证书 ca confi 阅读全文
posted @ 2018-04-15 13:54 breezey 阅读(5284) 评论(1) 推荐(2) 编辑
摘要:[toc] 在什么情况下需要集群的运行时更改 维护和升级多个机器 如果你因为进行诸如硬件升级或者断网等计划维护,而需要移动多个节点到新机器上,最好是逐个节点移动,一次操作一个。 移动leader节点是安全的,只不过leader节点下线后,需要耗费更多的时间选举新节点,所以建议最后移动。如果集群有超过 阅读全文
posted @ 2018-04-14 22:58 breezey 阅读(2545) 评论(0) 推荐(0) 编辑
摘要:概述 节点 etcd有两种节点,分别为集群节点和代理节点。两种节点在使用上几乎没有区别,这使我们可以在每台机器上都安装etcd,进而把etcd当作本地服务使用。它们的区别在于内部原理不同: 集群节点是真正的etcd集群的构成者,这些节点负责数据存取,集群管理等 代理节点可以理解为一个反向代理,它只简 阅读全文
posted @ 2018-04-14 22:01 breezey 阅读(3668) 评论(0) 推荐(0) 编辑
摘要:最近编写kubernetes的saltstack状态配置文件,在github上找到一个开源的salt文件,根据自己的需要,完成修改之后。执行部署测试 大致目录结构如下: top.sls的内容如下: minion端 配置如下: 在执行 时,部署正常执行,然而在执行 时,却抛出如下异常: 但是由于我们线 阅读全文
posted @ 2018-04-13 22:54 breezey 阅读(2570) 评论(0) 推荐(0) 编辑
摘要:在编写Dockerfile的时候,包含一个entrypoint配置,该配置的作用是在容器启动之前做一些初始化配置,或者一些自定义的配置等。通常是一个脚本,然后在脚本里配置相关预定义项。这篇文档就详细说一说entrypoint入口文件的编写技巧。 下面以mysql官方镜像中的entrypoint文件d 阅读全文
posted @ 2018-04-13 00:20 breezey 阅读(53850) 评论(2) 推荐(4) 编辑
摘要:问题背景 通常我们一个完整的应用镜像有两部分组成,一个是运行时环境,一个是应用程序。我们以php应用为例,一个完整的php应用需要包含openresty + php两个服务来配置运行时环境,然后再加上php代码,来完成一整个php应用的发布。php代码产生的日志由程序自行控制,一般都会按天滚动,在日 阅读全文
posted @ 2018-04-13 00:19 breezey 阅读(1785) 评论(0) 推荐(1) 编辑
摘要:[toc] 容器管理 运行容器 1、运行一个容器示例: 2、将容器在前台运行: 需要说明的是,容器是为任务而生的。一个容器建议只运行一个进程,而且这个进程需要在容器的前台运行,不能通过daemon的方式运行。如果进程退出,容器也会随之停止 3、容器的启动过程说明: 检查本地是否存在指定的镜像,如果没 阅读全文
posted @ 2018-04-13 00:16 breezey 阅读(1211) 评论(0) 推荐(1) 编辑
摘要:[toc] 网络 docker提供几种网络,它决定容器之是以及外界和容器之间怎么样去通信。 可以通过如下方法查看docker的网络: null:无网络,使用这种网络的容器会完全隔离 host:主机网络,使用这种网络的容器会使用主机的网络,这种网络对外界是完全开放的,能够访问到主机,就能访问到容器 b 阅读全文
posted @ 2018-04-13 00:15 breezey 阅读(568) 评论(0) 推荐(0) 编辑
摘要:[toc] 创建、启动、停止容器 docker创建的容器是处于停止状态,可以使用docker start命令来启动 新建并启动容器 执行过程: 检查本地是否存在指定的镜像,如果没有就从指定的仓库下载 利用镜像启动一个容器 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层 从宿主机配置的网桥接口 阅读全文
posted @ 2018-04-13 00:14 breezey 阅读(801) 评论(0) 推荐(0) 编辑
摘要:Dockerfile的组成 Dockerfile分为四部分: 基础镜像信息 维护者信息 镜像操作指令 容器启动时执行指令 Dockerfile指令说明 FROM 格式为 或者 第一条指令必须为FROM指令。并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次 阅读全文
posted @ 2018-04-13 00:13 breezey 阅读(763) 评论(0) 推荐(0) 编辑
摘要:[toc] playbook的结构说明 playbook是由一个或多个"play"组成的列表。play的主要功能就是对一组主机应用play中定义好的task。从根本上来讲一个task就是对ansible一个module的调用。而将多个play按照一定的顺序组织到一个playbook中,我们称之为编排 阅读全文
posted @ 2018-04-12 23:59 breezey 阅读(1925) 评论(0) 推荐(0) 编辑
摘要:Ansible Playbook简介 ansbile-playbook是一系列ansible命令的集合,利用yaml 语言编写。playbook命令根据自上而下的顺序依次执行。同时,playbook开创了很多特性,它可以允许你传输某个命令的状态到后面的指令,如你可以从一台机器的文件中抓取内容并附为变 阅读全文
posted @ 2018-04-12 23:36 breezey 阅读(992) 评论(0) 推荐(0) 编辑
摘要:[toc] 根据官方的分类,将模块按功能分类为:云模块、命令模块、数据库模块、文件模块、资产模块、消息模块、监控模块、网络模块、通知模块、包管理模块、源码控制模块、系统模块、单元模块、web设施模块、windows模块 ,具体可以参看官方页面。 这里从官方分类的模块里选择最常用的一些模块进行介绍。 阅读全文
posted @ 2018-04-12 23:21 breezey 阅读(869) 评论(0) 推荐(0) 编辑
摘要:[toc] Ad hoc 简介 Ad Hoc 是指ansible下临时执行的一条命令,并且不需要保存的命令,对于复杂的命令会使用playbook。Ad hoc的执行依赖于模块,ansible官方提供了大量的模块。 如:command、raw、shell、file、cron等,具体可以通过ansibl 阅读全文
posted @ 2018-04-12 20:59 breezey 阅读(970) 评论(0) 推荐(0) 编辑
摘要:[toc] 配置文件优先级 ansible的配置文件名为ansible.cfg,它一般会存在于四个地方: ANSIBLE_CONFIG:首先,Ansible命令会检查该环境变量,及这个环境变量将指向的配置文件 ./ansible.cfg:当前工作目录,即当前执行ansible指令的目录,如果ANSI 阅读全文
posted @ 2018-04-12 20:51 breezey 阅读(1189) 评论(0) 推荐(0) 编辑
摘要:[toc] 简介 在使用Ansible来批量管理主机的时候,通常我们需要先定义要管理哪些主机或者主机组,而这个用于管理主机与主机组的文件就叫做Inventory,也叫主机清单。该文件默认位于/etc/ansible/hosts。当然我们也可以通过修改ansible配置文件的hostfile配置项来修 阅读全文
posted @ 2018-04-12 20:44 breezey 阅读(1174) 评论(0) 推荐(1) 编辑
摘要:[toc] Ansible 是一个 IT 自动化工具。它能配置系统、部署软件、编排更复杂的 IT 任务,如连续部署或零停机时间滚动更新。 Ansible 用 python 编写,尽管市面上已经有很多可供选择的配置管理解决方案(例如 Salt,Puppet,Chef等),但它们各有优劣,而Ansibl 阅读全文
posted @ 2018-04-12 20:27 breezey 阅读(1032) 评论(1) 推荐(0) 编辑
摘要:通过日志工作分析日志时,非json日志分析起来比较麻烦。通过以下的配置,可以让生成的日志为json。 配置实例: 阅读全文
posted @ 2018-04-12 20:16 breezey 阅读(2132) 评论(2) 推荐(0) 编辑
摘要:[toc] 滚动更新简介 当kubernetes集群中的某个服务需要升级时,传统的做法是,先将要更新的服务下线,业务停止后再更新版本和配置,然后重新启动并提供服务。如果业务集群规模较大时,这个工作就变成了一个挑战,而且先全部了停止,再逐步升级的方式会导致服务较长时间不可用。kubernetes提供了 阅读全文
posted @ 2018-04-12 20:01 breezey 阅读(1306) 评论(0) 推荐(0) 编辑
摘要:Deployment相对于RC的优势 RS与Deployment主要用于替代RC。RS的全称为Replica Set。相对于RC,RS与Deployment的优势如下: RC只支持基于等式的selector,如env=dev或者environment!=qa。但在RS中,还支持新的基于集合的sele 阅读全文
posted @ 2018-04-12 19:59 breezey 阅读(6244) 评论(0) 推荐(0) 编辑
摘要:[toc] 简介 在很多应用场景中,应用在启动之前都需要进行如下初始化操作: 等待其他关联组件正确运行(例如数据库或某个后台服务) 基于环境变量或配置模板生成配置文件 从远程数据库获取本地所需配置,或者将自身注册到某个中央数据库中 下载相关依赖包,或者对系统进行一些预配置操作 kubernetes 阅读全文
posted @ 2018-04-12 19:57 breezey 阅读(2258) 评论(0) 推荐(0) 编辑
摘要:[toc] 说明 我们知道,每个Pod在成功创建出来之后,都会被系统分配唯一的名字、IP地址,并且处于某一个namespace中,那么我们如何在pod的容器内获取pod的这些重要信息呢? 答案就是使用Downward API。 Downward API可以通过以下两种方式将pod信息注入容器内部: 阅读全文
posted @ 2018-04-12 19:48 breezey 阅读(1059) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示