Excel不相邻列如何打印在一起-英雄云拓展知识分享
117
2023-11-07
【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第3章,第5节,由陈刚、王洪军编著。
3.5.3 Salt-API配置
通过前面的介绍,我们就可以手工进行远程指定服务器的发布了。但如果集成 在我们的自动化发布系统中,这种构架还是不完美的。它存在一个问题,就是耦合性 太强了。在这种构架下,我们的自动化发布系统必须和 Salt Master 部署在同一个服 务器上,调用Salt 命令才能进行操作。这会让我们后期很难对自己的系统或是 Salt Master 进行升级和扩展。
有没有更好的方案呢?
幸好,SaltStack 软件为我们提供了另一种功能:以 REST API 的方式,通过 Salt-API 远程调用进行操作。有了这种命令调用方式,就可以将我们自己的软件发 布系统和 Salt Master 服务分开部署,然后只要网络上互通,就可以远程调用命令。
它是不是比前一种方案更灵活呢?
下面,通过新的安装配置,来启用Salt-API 方式的远程命令调用。
1.Salt-AP I的安装
运行如下命令进行安装:
yum install salt-api
Salt-API 的运行,依赖于 Python-Cherrypy 模块,所以这个模块也会一并安装。
2. 生成自签名证书
为了安全,Salt-API 是以 https 的方式运行,所以应生成证书,随后配置在相关
文件中。
进入/etc/pki/tls/certs/ (期间,需要生成一个 pass
Make testcert
如果正常,输出如下:
目录,运行如下命令, 一路回车,即生成一个自签名证书 phrase 加密短语,自行保存):
umask 77;\
/usr/bin/openssl genrsa -aes1282048>/etc/pki/tls/private/localhost.key Generating RSA private key,2048 bit long modulus
………
… …
……
……
+++
… … … … … … +++
e is 65537(0x10001)
Enter pass phrase:
Verifying -Enter pass phrase:
umask 77;\
/usr/bin/openssl req-utf8 -new -key /etc/pki/tls/private/localhost.key -x509 -
days 365 -out /etc/pki/tls/certs/localhost.crt
Enter pass phrase for /etc/pki/tls/private/localhost.key:
You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter'.',the field will be left blank.
Country Name(2 letter code)[xx]:
State or Province Name(full name)[]:
Locality Name(eg,city)[Default City]:
Organization Name(eg,company)[Default Company Ltd]:
Organizational Unit Name(eg,section)[]:
Common Name(eg,your name or your server's hostname)[]:
Email Address []:
这时,即在/etc/pki/tls/certs/ 证书,同时在/etc/pki/tls/private/ 私钥。
接着,进入/etc/pki/tls/private/
目录下生成了一个包含RSA 公钥的 localhost.crt 目录下生成了对应 RSA 算法的 locathost.key
目录,运行如下命令,在相同目录下,会生成 lo-
cathost.key 对应的无密码私钥——localhost_nopass.key, 这一过程,需要上一步输
入的 pass phrase。
openssl rsa -in localhost.key -out localhost_nopass.key
记住/etc/pki/tls/certs/localhost.crt 和/etc/pki/tls/private/localhost_nopass. key 文件的位置,因为在 Salt-API 配置时,需要这两个文件作为 ssl 的配置。
3. 创建 Salt-API用户及密码
接下来,需要创建一个用户,用于 Salt-API 的认证,以及进行 SaltStack 平台的 命令调用前的认证。大家对于上一步和这一步的配置,不要懵圈,两者之间是有区别 的:上一步,是为了 Salt-API 服务能启动运行而进行的证书配置,不涉及用户;而这 一步,是为了让我们以后的自动化软件发布系统能远程调用Salt-API 服务而建立的 认证用户。切记!
输入以下命令,建立一个 Salt-API 用户:
useradd-M-s/sbin/nologin salt-api-client
输入以下命令,设置 Salt-API-Client 用户的密码(请记住这个密码,在以后自动 化发布系统会用到):
passwd salt-api-client
输出如下:
Changing password for user salt-api-client.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
4.Salt-API 配置
在生成了证书及用户之后,就可以进行 Salt-API 服务的配置了。
Salt-API 的配置包括两个文件,第一个是 api.conf 文件,用来配置证书文件,启 动 Salt-API 服务;另一个是eauth.conf 文件,用来配置 Salt-API 的远程认证用户的 权限。这两个文件位于/etc/salt/master.d/ 这个目录之中,如果这个目录不存在,请 提前创建好。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~