Traefik 概述Traefik 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。 它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。 它是一个边缘路由器,它会拦截外部的请求并根据逻辑规则选择不同的操作方式,这些规则决定着这些请求到底该如何处理。Traefik 提供自动发现能力,会实时检测服务,并自动更新路由规则。Traefik 的与众不同之处还在于它会自动发现适合你服务的配置。当 Traefik 在检查你的服务时,会找到服务的相关信息并找到合适的服务来满足对应的请求。Traefik 兼容所有主流的集群技术,比如 Kubernetes,Docker,Docker Swarm,AWS,Mesos,Marathon等等;并且可以同时处理多种方式。(甚至可以用于在裸机上运行的比较旧的软件。)有了Traefik,就不需要维护和同步一个单独的配置文件:一切都会自动、实时地发生( ...
MongoDB简介什么是MongoDBMongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引,如果用一句话来概括的话:MongoDB是一个高可用、分布式、灵活模式的文档数据库,用于大容量数据存储。 关系型与非关系型 NoSQL not only sqlNoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写是对不同于传统的关系型数据库的数据库管理系统的统称。对NoSQL最普遍的解释是”非关联型的”,强调Key-Value Stores和文档数据库的优点,而不是单纯的RDBMS。NoSQL用于超大规模数据的存储。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。今天我们可以通过第三方平台可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置 ...
Dashboard概述Dashboard是OpenStack中提供的一个web前端控制台,以此来展示openstack的功能。Dashboard是一个基于Django Web Framework开发的标准的Python WSGI程序。Dashboard将页面上的所有元素模块化,网页中一些常见元素(如表单,表格,标签页)全部被封装成Python类,每个组件都有自己对应的一小块HTML模板,当渲染整个页面的时候,Dashboard先查找当前页面有多少组件,然后将各个组件分别进行渲染变成一段HTML片段,最后拼装成一个完整的HTML页面,返回给浏览器。 Dashboard安装安装服务1yum install openstack-dashboard -y 服务配置 编辑修改/etc/openstack-dashboard/local_settings 123456789101112131415161718192021222324252627282930313233343536373839404142[root@node01 ~]# vim /etc/opens ...
Neutron介绍Neutron概要OpenStack网络服务提供了一个API接口,允许用户在云上设置和定义网络连接和地址。这个网络服务的项目代码名称是Neutron。OpenStack网络处理虚拟设备的创建和管理网络基础设施,包括网络、交换机、子网以及由计算服务(nova)管理的设备路由器。高级服务,如防火墙或虚拟私人网络(VPN)也可以使用。 OpenStack网络由neutron-server,持久化存储数据库,和任意数量的插件代理组成,这些代理提供其他服务,如与本地linux联网接口机制、外部设备或SDN控制器。 OpenStack网络是完全独立的,可以部署到一个专用主机。如果你的部署使用了一个控制器主机运行集中计算组件,你可以部署网络服务来取代主机的设定。 OpenStack网络集成了各种组件: 身份认证(Keystone)用于身份验证以及api请求的授权。 计算服务(Nova)用于把一个特定网络插入每个虚拟机中。 仪表盘(Horizon)由管理员和租户通过一个基于WEB的图形界面创建和管理网络。 neutron组件详解 neutron-server可以理解为类似于nov ...
nova介绍 Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源。OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的。 用途与功能 : 实例生命周期管理 管理计算资源 网络和认证管理 REST 风格的 API 异步的一致性通信 Hypervisor 透明:支持Xen,XenServer/XCP,KVM, UML,VMware vSphere and Hyper-V 体系结构 组件介绍nova-apinova-api:实现了RESTful API功能,是外部访问Nova的唯一途径。接收外部的请求并通过Message Queue将请求发送给其他的服务组件,同时也兼容EC2 API,所以也可以用EC2的管理工具对nova进行日常管理。 nova-schedulernova-scheduler:决策虚拟机创建在哪个主机(计算节点)上。决策一个虚拟机应该调度到某物理节点,需要分为两个步骤: 过滤(filter):过滤出可以创建虚拟机的主机。 计算权值(weight):根据权重大小进行分配,默认根据 ...
Placement概述Placement服务跟踪资源(比如计算节点,存储资源池,网络资源池等)的使用情况,提供自定义资源的能力,为分配资源提供服务。 Placement在openstack的Stein版本之前,属于Nova组件的一部分。该组件应该在Nova之前安装。 Placement API作为一个标准的WSGI脚本,为WSGI服务器提供了模块级的应用程序属性。支持部署在多种服务器上,如: apache2 附加 mod_wsgi 模块 apache2 附加 mod_proxy_uwsgi 模块 nginx 附加 uwsgi 模块 nginx 附加 gunicorn 模块 这种情况下,Placement的地址、端口和安装路径(或前缀)由web服务器的配置控制,而不是placement.conf文件。 Placement API服务使用http的80端口,和/placement的路径来访问。 安装部署创建数据库12345CREATE DATABASE placement;MariaDB [(none)]> GRANT ALL PRIVILEGES ON placeme ...
概述Glance(OpenStack Image Service)是为虚拟机提供发现,注册,和下载镜像的服务。Glance 提供了虚拟机镜像的集中存储。通过 Glance 的 RESTful API,可以查询镜像元数据、下载镜像。虚拟机的镜像可以很方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift)。 在 Glance 里镜像被当做模板来存储,用于启动新实例。Glance 还可以从正在运行的实例建立快照用于备份虚拟机的状态。 Glance 具体功能如下: 提供 RESTful API 让用户能够查询和获取镜像的元数据和镜像本身; 支持多种方式存储镜像,包括普通的文件系统、Swift、Ceph 等; 对实例执行快照创建新的镜像。 Clance 在整个 OpenStack 架构中的位置如下图: 架构在 Newton 之前的版本中,Glance 支持两种 RESTful API V1和V2,两者区别为: V1只提供了基本的镜像和用户操作功能:镜像创建、删除、下载、列表、详细信息查询、更新,以及镜像租户成员的创建、删除和列表。 V2除了支持V1 ...
OpenStack简介OpenStack是一个开源的云计算管理平台项目由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单,可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(Infrastructure as a Service,IaaS)的解决方案,每个服务提供API以进行集成。 下图展示了OpenStack服务之间的关系: 要设计、部署和配置OpenStack、管理员必须了解逻辑体系结构。如上图所示,OpenStack由几个独立的部分组成,成为OpenStack服务。所有服务都是通过身份服务进行身份验证。各个服务通过公共API相互交互,除非需要特权管理员命令。 服务介绍 服务 项目名称 方法描述 Dashboard Horizon 提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制 Compute Nova 在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操 ...
keepalived介绍 keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点状态,后来又加入了可以实现高可用的VRRP功能.此,keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx,Haproxy,MySQL等)的高可用解决方案软件。 VRRP(Virtual Router Redundancy Protocol)虚拟路由器冗余协议,是一种容错的主备模式的协议,保证当主机的下一跳路由出现故障时,由另一台路由器来代替出现故障的路由器进行工作,通过VRRP可以在网络发生故障时透明的进行设备切换而不影响主机之间的数据通信。 Keepalived软件主要是通过VRRP协议实现高可用功能,在安装keepalived的服务器主机上会在配置文件中设置一个虚拟IP,当该keepalived节点为主节点且正常运行时,设置的虚拟Ip就会在该节点生效且绑定在该主机的网卡上,而其他备用主机设置的虚拟IP就不会生效。当测到主keepalived节点出现故障时,备用keepalived节点检会进行抢占提供服务,抢占成功的keepa ...
Linux运维
未读什么是分支 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用) git分支操作流程 分支的好处同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。 Git分支的操作 命令名称 作用 git branch 分支名 创建分支 git branch -v 查看分支 git branch -d name 删除分支 git branch -b name 创建分支并切换到这个分支 git checkout 分支名 切换分支 git merge 分支名 把指定的分支合并到当前分支上 查看当前分支1234[root@boysec.cn ~/git_data]$git branch * master[root@boysec.cn ~/git_data]$ ...
Linux运维
未读Git是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。 Git是目前世界上最先进的分布式版本控制系统。 工作原理 / 流程: Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库 SVN与Git的最主要的区别SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要 ...
StatefulSetStatefulSet是为了解决有状态服务的问题(对应Deployments和ReplicaSets是为无状态服务而设计),其应用场景包括 稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现 稳定的网络标志,即Pod重新调度后其PodName和HostName不变,基于Headless Service(即没有Cluster IP的Service)来实现 有序部署,有序扩展,即Pod是有顺序的,在部署或者扩展的时候要依据定义的顺序依次依次进行(即从0到N-1,在下一个Pod运行之前所有之前的Pod必须都是Running和Ready状态),基于init containers来实现 有序收缩,有序删除(即从N-1到0) 从上面的应用场景可以发现,StatefulSet由以下几个部分组成: 用于定义网络标志(DNS domain)的Headless Service 用于创建PersistentVolumes的volumeClaimTemplates 定义具体应用的StatefulSet StatefulSet中每个Pod的DNS格式 ...