centos puppet 升级?centos8官网下载教程

很多朋友对于centos puppet 升级和centos8官网下载教程不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

新手如何自学linux

新手自学linux,需要制定详细的学习路线和学习内容,可以按照以下思路学习:

第一阶段:linux基础入门

Linux基础入门主要包括: Linux硬件基础、Linux发展历史、Linux系统安装、xshell连接、xshell优化、SSH远程连接故障问题排查、L inux基础优化、Linux目录结构知识、Linux文件属性、Linux通配符、正则表达式、Linux系统权限等

第二阶段:linux系统管理进阶

linux系统管理进阶包括:Linux定时任务、Linux用户管理、Linux磁盘与文件系统、Linux三剑客之sed命令等。

第三阶段:Linux Shell基础

Linux Shell基础包括:Shell编程基础、Linux三剑客之awk命令等。

第四阶段:Linux网络基础

第五阶段:Linux网络服务

Linux网络服务包括:集群实战架构开始及环境准备、rsync数据同步服务、Linux全网备份项目、nfs网络存储服务精讲、inotify/sersync实时数据同步/nfs存储实时备份项目等。

第六阶段:Linux重要网络服务

Linux重要网络服务包括:http协议/www服务基础、nginx web介绍及基础实践、nginx web、lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统、nginx负载均衡、keepalived高可用等。

第七阶段:Ansible自动化运维与Zabbix监控

Ansible自动化运维与Zabbix监控包括: SSH服务秘钥认证、ansible批量自动化管理集群、 zabbix监控等。

第九阶段:大规模集群高可用服务(Lvs、Keepalived)

第十阶段:Java Tomcat服务及防火墙Iptables

第十一阶段:MySQL DBA高级应用实践

MySQL DBA高级应用实践包括:MySQL数据库入门基础命令、MySQL数据库进阶备份恢复、MySQL数据库深入事务引擎、MySQL数据库优化SQL语句优化、MySQL数据库集群主从复制/读写分离、MySQL数据库高可用/mha/keepalved等。

第十二阶段:高性能数据库Redis和Memcached课程

第十三阶段:Linux大规模集群架构构建(200台)

第十四阶段:Linux Shell编程企业案例实战

第十五阶段:企业级代码发布上线方案(SVN和Git)

第十六阶段企业级Kvm虚拟化与OpenStack云计算

第十七阶段公有云阿里云8大组件构建集群实战

第十八阶段:Docker技术企业应用实践

第十九阶段:Python自动化入门及进阶

第二十阶段:职业规划与高薪就业指导

Linux学习周期因人而异,如果您有比较好的学习规划,每天坚持学习4至5个小时,坚持3至6个月,应该可以熟练掌握Linux基本操作,但是,如果只有计划,没有实施,那就另当别论了,如果想更深入、更节省时间的学习Linux操作系统,建议报班学习,效果会更加明显!

如何将Puppet服务器及客户端安装到CentOS和RHEL上

在CentOS/RHEL 6.5上:

# rpm-ivh

在CentOS/RHEL 7上:

# rpm-ivh

服务器的安装

将软件包“puppet-server”安装到你想用作主服务器的服务器上。

# yum install puppet-server

安装完毕后,设置Puppet服务器,以便在系统启动时自动开启、并打开它。

# chkconfig puppetmaster on# service puppetmaster start

现在我们让服务器运行起来后,就要确保它能够从我们的网络加以访问。

在iptables用作防火墙的CentOS/RHEL 6上,将下面这一行添加到/etc/sysconfig/iptables的“:OUTPUT ACCEPT”这部分。

1-A INPUT-m state--state NEW-m tcp-p tcp--dport 8140-j ACCEPT

为了让这个变更生效,有必要重启iptables。

# service iptables restart

在使用firewalld的CentOS/RHEL 7上,可以用下列命令实现同一操作:

# firewall-cmd--permanent--zone=public--add-port=8140/tcp# firewall-cmd--reload

客户端的安装

将Puppet客户端软件包安装到客户端节点上,为此执行下面这个命令:

# yum install puppet

安装完毕后,确保Puppet在系统启动后开启。

# chkconfig puppet on

你的Puppet客户端节点必须知道Puppet主服务器位于何处。为此,最佳办法就是使用DNS服务器,你可以在该服务器上配置Puppet域名。要是你没有一台正常运行的DNS服务器,可以使用/etc/hosts文件,为此只要添加下面这一行:

1.2.3.4 server.your.domain 2.3.4.5 client-node.your.domain

1.2.3.4对应于Puppet主服务器的IP地址,“server.your.domain”是主服务器的域名(默认值通常是服务器的主机名称),“client-node.your.domain”则是客户端节点。应该在所有相关的服务器(Puppet主服务器和客户端服务器)上都要相应配置该主机文件。

完成这些设置后,我们就要向Puppet客户端表明谁是主服务器。默认情况下,Puppet寻找一台名为“puppet”的服务器,但该设置通常不适合你的网络配置,因此我们将它换成Puppet主服务器的完全符合标准的域名(FQDN)。打开文件/etc/sysconfig/puppet,把“PUPPET_SERVER”值换成/etc/hosts中指定的Puppet主服务器域名:

PUPPET_SERVER=server.your.domain

主服务器名称也必须在/etc/puppet/puppet.conf的“[agent]”部分中加以定义:

serverserver=server.your.domain

现在,你可以启动Puppet客户端了:

# service puppet start

我们需要使用下面这个命令,迫使客户端联系上Puppet主服务器:

# puppet agent--test

你应该会看到类似下列输出内容的结果。别慌张,这很正常,因为该服务器仍没有在Puppet主服务器上得到验证。

Exiting; no certificate found and waitforcert is disabled

回到你的puppet主服务器,核实证书验证请求:

# puppet cert list

你应该会看到一份列表,列出了从puppet主服务器请求证书签名的所有服务器。找到客户服务器的主机名称,使用下面这个命令来签名(client-node是客户端节点的域名):

# puppet cert sign client-node

至此,你已有了一台正常工作的Puppet客户端和服务器。祝贺你!不过,眼下Puppet主服务器无法指令客户端进行什么操作。所以,不妨创建某个基本的清单文件,并设置客户端节点来安装基本的实用工具。

连接回到Puppet服务器,确保目录/etc/puppet/manifests已存在。

# mkdir-p/etc/puppet/manifests

现在,创建具有下列内容的清单文件/etc/puppet/manifests/site.pp

node'client-node'{ include custom_utils} class custom_utils{ package{ ["nmap","telnet","vim-enhanced","traceroute"]: ensure=> latest, allow_virtual=> false,}}

然后重启puppetmaster服务。

# service puppetmaster restart

客户端配置的默认刷新间隔时间是30分钟;如果你想手动强行让变更生效,就要在客户端节点上执行下面这个命令:

# puppet agent-t

如果你想更改默认的客户端刷新间隔时间,将下面这一行:

runinterval=<yourtime>

添加到客户端节点上的/etc/puppet/puppet.conf的“[agent]”部分。该设置是个时间间隔,单位可能是秒钟(30或30s)、分钟(30m)、小时(6h)、天(2d)或年(5y)。注意:运行间隔为0意味着“连续运行”,而不是“从不运行”。

技巧和方法

1.调试

有时候可能出现这种情况:你要提交错误的配置,不得不调试Puppet在哪里出现了故障。为此,你总是可以从检查/var/log/puppet/中的日志,或者手动运行代理软件、查看输出结果开始入手:

# puppet agent-t

默认情况下,“-t”激活详细模式,所以它让你可以查看Puppet的输出结果。该命令还有几个参数,可以帮助更细致一点地识别问题。第一个实用的选项是:

# puppet agent-t--debug

debug表明Puppet在运行期间经历的所有步骤。它在调试非常复杂的规则的过程中大有用处。可能很有用的另一个参数是:

# puppet agent-t--noop

该选项将puppet设置在所谓的空运行(dry-run)模式,并不执行任何变更。Puppet只是在屏幕上输出所要呈现的内容,并不将任何内容写入到磁盘上。

2.模块

一段时间后,你会发现处于这种情形:你想要有更复杂的清单文件。但在你坐下来开始编写清单文件之前,应该花点时间,浏览。Forge是个庞大的软件库,里面含有诸多Puppet社区模块;你很有可能在这里找到问题的解决方法。要是没找到,就编写自己的模块,然后提交,那样别人就能得益于Puppet模块文化。

现在,假设你已经找到了可以解决你问题的一个模块。那么,如何把它安装到系统上?安装其实相当容易,因为Puppet已经含有直接下载模块的接口。只要键入下面这个命令:

# puppet module install<module_name>--version 0.0.0

<module_name>是你所选择模块的名称,version是可选的(要是没有指定,那么下载最新版本。)如果你不记得想要安装的那个模块的名称,可以试着使用module search(模块搜索)来找到它:

# puppet module search<search_string>

因而,你会获得一份列表,列出了含有搜索字符串的所有模块。

# puppet module search apache

Notice: Searching ... NAME DESCRIPTION AUTHOR KEYWORDS example42-apache Puppet module for apache@example42 example42, apache puppetlabs-apache Puppet module for Apache@puppetlabs apache web httpd centos rhel ssl wsgi proxy theforeman-apache Apache HTTP server configuration@theforeman foreman apache httpd DEPRECATED

如果你想看看已经安装了哪些模块,只要键入下面这个命令:

# puppet module list

结束语

至此,你应该有了一个完全实用的Puppet主服务器,可以为一个或多个客户端服务器提供基本的配置。现在可以随意为你的配置添加更多的设置,让它适应你的基础设施。用不着为捣鼓Puppet而担心,你会发现它确实大有帮助。

OpenStack部署都有哪些方式

对于每一个刚接触到OpenStack的新人而言,安装无疑是最困难的,同时这也客观上提高了大家学习OpenStack云计算的技术门槛。想一想,自己3年前网上偶然接触到OpenStack时,一头茫然,手动搭建一个多节点环境时居然用了3个星期。

时至今日,真是感触颇多,从某种角度而言,也很庆幸当时自己并未因困难而放弃OpenStack,否则,应该是去做其他领域了吧!

言归正传,咱们就来数落数落部署OpenStack都有哪些方式吧。这里,我们根据使用者群体的不同类型来进行分类和归纳:

个人使用方面

DevStack

无疑,在可预见的未来时间内,DevStack仍将是众多开发者们的首选安装方式或工具。该方式主要是通过配置参数,执行shell脚本来安装一个OpenStack的开发环境。

Github:

Wiki:

Rdo

Rdo是由Red Hat开源的一款部署OpenStack的工具,同DevStack一样,支持单节点和多节点部署。但Rdo只支持CentOS系列的操作系统。需要注意的是,该项目并不属于OpenStack官方社区项目。

Docs:

手动部署

手动部署all-in-one、multi-node、multi-HA-node环境。

其他

企业、团体方面

Puppet

Puppet由Ruby语言编写。应当说,Puppet是进入OpenStack自动化部署中的早期一批项目,历史还算悠久。目前,它的活跃开发群体们是Red hat、 Mirantis、UnitedStack等。

Red

hat自从收购Ansible之后,如今仍然保持强势劲头在Puppet

OpenStack项目中的Commit数量和质量,其技术实力不容小觑;Mirantis出品的Fuel部署工具中,大量的模块代码便使用的是

Puppet。就国内而言,UnitedStack是Puppet社区贡献和使用的最大用户。

Github:

Governance:

Wiki:

Ansible

Ansible

是新近出现的自动化运维工具,已被Red

Hat收购。基于Python开发,集合了众多运维工具(puppet、cfengine、chef、saltstack等)的优点,实现了批量系统配

置、批量程序部署、批量运行命令等功能,它一方面总结了Puppet的设计上的得失,另一方面也改进了很多设计。比如是基于SSH方式工作,故而不需要在

被控端安装客户端。使得在和OpenStack结合上没有历史包袱,更加能够轻装上阵,未来发展潜力不容小觑号称是“你一直寻找的下一代Iaas”的

Zstack,使用到的部署工具也是基于Ansible。

Openstack-ansible项目,最早是由老牌Rackspace公司在Launchpad官网上注册。

在最新的Ansible OpenStack项目社区Commit贡献中,Rackspace也可谓是遥遥领先,而紧随其后的是Red Hat、国内九州云等公司。

Github:

SaltStack

SaltStack

也是一款开源的自动化部署工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能,和Ansible也是挺相近的。不同之一

是,由于SaltStack的master和minion认证机制和工作方式,需要在被控端安装minion客户端,在加之其他原因,自然和

Ansible相比,其优缺点便很明显了。

需要注意的是,使用Saltstack部署OpenStack,并不属于OpenStack社区项目。目前,主要还是处于用户自研自用的阶段。据笔者所知,目前国内的携程应该是使用Saltstack部署OpenStack规模最大的用户。

Saltstack部署OpenStack示例:

Saltstack部署OpenStack模块:

TripleO

Tripleo

项目最早由HP于2013.4在launchpad上注册BP。用于完成OpenStack的安装与部署。TripleO全称“OpenStack On

OpenStack”,意思即为“云上云”,可以简单理解为利用OpenStack来部署OpenStack,即首先基于V2P(和P2V相反,也就是指

把虚拟机的镜像迁移到物理机上)的理念事先准备好一些OpenStack节点(计算、存储、控制节点)的镜像,然后利用已有openstack环境的裸机

服务Ironic项目去部署裸机,软件安装部分的diskimage-builder,最后通过Heat项目和镜像内的DevOps工具(Puppet

Or Chef)再在裸机上配置运行openstack。

和其他部署工具不同的是,TripleO利用OpenStack本来的基础设施来部署OpenStack,基于Nova、 Neutron、Ironic和Heat,来自动化部署和伸缩OpenStack集群。

当确切的说,TripleO项目属于当前OpenStack社区主推的“Big Tent”开发模式下的big tent

project(OpenStack下的项目分为三种,core project: nova/neutron等核心项目,big tent

project:非核心项目,但也被OpenStack基金会接受;第三种就是其它项目,只是放在OpenStack下,但是社区还没有接受)。

在该项目的社区Commit贡献上,Red hat可谓是遥遥领先,而紧随其后的是IBM等公司。

Wiki:

Kolla

国内一些互联网资料上,常看到关于kolla是TripleO项目的一部分这样的描述,其实是不准确的。真实的是,Kolla项目起源于Tripleo项

目,时至今日,与它没有任何关系(虽然它们的目标都是做自动化部署,但走的道路却不同)。比之于Tripleo和其他部署工具,Kolla走的是

docker容器部署路线。

kolla项目起源于TripleO项目,聚焦于使用docker容器部署OpenStack服务。该项目由

Cisco于2014年9月提出,是OpenStack的孵化项目。当前Kolla项目在Kollaglue

repo提供了以下服务的docker镜像。# docker search kollaglue

Kolla的优势和使用场景,体现在如下几个方面:

原子性的升级或者回退OpenStack部署;

基于组件升级OpenStack;

基于组件回退OpenStack;

这里,我们予以拆分来理解:

Kolla

的最终目标是为OpenStack的每一个服务都创建一个对应的Docker Image,通过Docker

Image将升级的粒度减小到Service级别,从而使升级时,对OpenStack影响能达到最小,并且一旦升级失败,也很容易回滚。升级只需要三

步:Pull新版本的容器镜像,停止老版本的容器服务,然后启动新版本容器。回滚也不需要重新安装包了,直接启动老版本容器服务就行,非常方便。

Kolla是通过Docker Compose来部署OpenStack集群的,现在主要是针对裸机部署的,所以在部署Docker Container时,默认的网络配置都是Host模式。

先,只需要通过一个命令就可以把管理节点部署完成,这个命令是调用Docker

Compose来部署OpenStack的所有服务,然后我们可以在每一个计算节点上通过Docker

Compose安装计算节点需要的服务,就能部署一个OpenStack集群。因为Kolla的Docker

Image粒度很小,它针对每个OpenStack服务都有特定的Image,所以我们也可以通过Docker

Run来操作某个具体的OpenStack服务。

目前,我所在的公司九州云的一位同事近日获得提名成为Kolla项目Core。为OpenStack社区中增添了一份来自于中国的力量。

Fuel

Fuel

是针对OpenStack生产环境目标

(非开源)设计的一个端到端”一键部署“的工具,大量采用了Python、Ruby和JavaScript等语言。其功能含盖自动的PXE方式的操作系统

安装,DHCP服务,Orchestration服务和puppet配置管理相关服务等,此外还有OpenStack关键业务健康检查和log

实时查看等非常好用的服务。

Fuel,这款让很多人即爱且痛的工具,在国内外都很盛名。爱的原因是,它确实很棒;痛的原因是,要想彻底掌握

它,可不是一件容易事(各个模块集成度高、使用技术复杂)。既然提到Fuel,自然不能不提它的父母——Mirantis。Mirantis是一家技术实

力非常雄厚的OpenStack服务集成商,他是社区贡献排名前5名中唯一一个靠OpenStack软件和服务盈利的公司。同时,Fuel的版本节奏也很

快,平均每半年就能提供一个相对稳定的社区版。

从和笔者接触到的一些情况来看,国内研究、使用Fuel的个人、群体还是为数不少的。不少国内OpenStack初创公司的安装包就是基于Fuel去修改的。

阅读剩余
THE END