Saltstack Installation

安装方式:
详见:http://repo.saltstack.com/
需要根据不同的python环境去进行安装。
CentOS/Redhat:
1. Run the following commands to install the SaltStack repository and key:
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm
2. Run sudo yum clean expire-cache
3. Install the salt-minion, salt-master, or other Salt components:
    * sudo yum install salt-master
    * sudo yum install salt-minion
    * sudo yum install salt-ssh
    * sudo yum install salt-syndic
    * sudo yum install salt-cloud
    * sudo yum install salt-api
4. (Upgrade only) Restart all upgraded services, for example:
sudo service salt-minion restart
Windows:
Latest Release
Installation executables:
AMD64: Salt-Minion-2018.3.1-Py2-AMD64-Setup.exe | MD5
x86: Salt-Minion-2018.3.1-Py2-x86-Setup.exe | MD5
SILENT INSTALLATION OPTIONS

The installer can be run silently by providing the /S option at the command line. The options /master and /minion-name allow for configuring the master hostname and minion name, respectively. Here’s an example of running a silent installation from the command line:
Salt-Minion-2018.3.1-Py2-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname


Ubuntu:
Installs the latest release. Updating installs the latest release even if it is a new major version.
1. Run the following command to import the SaltStack repository key:
wget -O - https://repo.saltstack.com/apt/ubuntu/18.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -
2. Save the following file to /etc/apt/sources.list.d/saltstack.list:
deb http://repo.saltstack.com/apt/ubuntu/18.04/amd64/latest bionic main
3. Run sudo apt-get update
4. Install the salt-minion, salt-master, or other Salt components:
    * sudo apt-get install salt-master
    * sudo apt-get install salt-minion
    * sudo apt-get install salt-ssh
    * sudo apt-get install salt-syndic
    * sudo apt-get install salt-cloud
    * sudo apt-get install salt-api
5. (Upgrade only) Restart all upgraded services, for example:
sudo systemctl restart salt-minion
OS X:
Installation executables:
salt-2018.3.1-py2-x86_64.pkg | MD5
Browse Repo  
OS X Gatekeeper settings might prevent installation of the Salt package. If a warning appears during installation, open System Preferences > Security & Privacy > click Open Anyway
INITIAL CONFIGURATION

After the installation completes, run the following to configure the Salt minion ID, the Salt master location, and to start the required services.
sudo salt-config -i yourminionname -m yoursaltmaster
START AND STOP THE MINION SERVICE

On OS X, the Salt minion configuration file is in the standard /etc/salt/minion location. To stop the Salt minion, run the following:
sudo launchctl stop com.saltstack.salt.minion
To start the Salt minion, run the following:
sudo launchctl start com.saltstack.salt.minion
Posted in Saltstack | Tagged , | Leave a comment

Salt-stack 简介

saltstack主要适用的是Python开发,有相关的RestAPI。 三大功能:远程工具、配置管理(状态)、云管理
四种运行方式: 1.本地运行、2.Minion/Master、3.Syndic(Proxy)4.salt ssh
几个基本服务: salt-api     salt-master  salt-minion  salt-syndic

saltstack主要适用的是Python开发,有相关的RestAPI。
三大功能:远程工具、配置管理(状态)、云管理

四种运行方式:
1.本地运行、2.Minion/Master、3.Syndic(Proxy)4.salt ssh

几个基本服务:
salt-api     salt-master  salt-minion  salt-syndic



salt key的基本介绍:
1.使用salt-key命令可以查看到当前主机上所有的salt的key文件信息:
[root@120-132-26-104 minions_pre]# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
10-8-118-17
salt.minion.test6
salt.minion.test6A
salt.minion.test7
Rejected Keys:

2.salt key是保存在/etc/salt/pki下的,该目录下共有两个目录,master、minion,minion端通常情况下master目录是空的,在minion下会有一个pem文件,一个pub文件,前者为私钥,后者为公钥,在minion服务启动的那一刻,minion的pub文件会被发给master,master接收到后,会被记录在unaccepted keys中。直到该key被接收。
当minion_id被修改时,一旦服务重启完毕,则minion端将以新的minion_id上报,此时master端将不会删除掉之前记录到的key,之前所有的配对过程也要重新进行。
master端的/etc/salt/pki下通常情况下minion是空的(本地也被起用了minion服务除外),此时master目录下会出现如下结构:
[root@120-132-26-104 master]# tree
.
|-- master.pem
|-- master.pub
|-- minions
|-- minions_autosign
|-- minions_denied
|-- minions_pre
|   |-- 10-8-118-17
|   |-- salt.minion.test6
|   |-- salt.minion.test6A
|   `-- salt.minion.test7
`-- minions_rejected

5 directories, 6 files

注意,修改后的minion_id会继续像master端上报自己之前的minion_id信息。

salt-key -a 加上通过salt-key命令列出来的主机名,将会accept这个key作为此master的minion。
salt-key -A,同意当前所有的
salt-key -d 删除指定的条目
salt-key -D删除所有
salt-key -L列出所有
salt-key -r 拒绝指定的
salt-key -R拒绝所有
事实上就是将公钥修改一下位置。
Posted in AutomaticOPS, Saltstack | Tagged , | Leave a comment

为什么要自己搭建博客

其实很多人问过我这个问题,每个时期的我对于这个问题的答案,又完全不一样。

其实最开始有想法搭建博客是2012年,当时大学社团里几个team的leader都有自己的博客,有的人是自己租服务器,有的人是用SAE等免费平台。大家的目的无非是为了装个13,再就是有的时候可以自虐一下,用一些漏扫工具扫自己的网站。我当时的想法其实也和大家一样,毕竟都是在一个圈子里混的,思想这个东西是很容易在小群体里互相“传染”的。

不过介于当时还是学生,囊中羞涩。换而言之,因为家庭的关系,我不想因为正常读书之外的任何事情花家里的钱,因而这些一直都只是一个计划。

Continue reading
Posted in About, Life | Leave a comment

CentOS 8上配置Chronyd作为NTP服务

官方文档链接: https://chrony.tuxfamily.org/documentation.html

CentOS8目测也已经发行了有小半年了,近期的几个项目基本上也都是以CentOS8为测试环境。由于前几个月已经将Kubernetes迁移到Vendor,且家里有一些特殊的情况,故家里的测试环境目前只保留了几个基本的点,放在一台机器上跑。而所有的项目都放在Mac的虚拟机里,需要哪个就启动哪个。

今天在调用Python的datetime模块的时候发现无论怎么调用,都说今天是周五……WTF?周日被后羿射熄火了,周六和周一被谁吃了?

退到系统里,用date命令看了一眼,妈蛋,时间居然没有同步……

然而,在打算同步时间的时候又遇到了问题,他大爷的,CentOS8 居然不提供ntp这个包了。也不知道红帽的脑子是不是抽了?这些年来从CentOS7开始就瞎改,通用性搞的这么差,难道就为了推你自己家的ansible?无奈,只能查资料,确认一下CentOS8的时间服务应该怎么配置。

Continue reading
Posted in Linux, Servuce | Tagged , , , , | Leave a comment

浅谈美国老爷子所说的移动申请的DNS加速专利

上家公司离职之前,一个美国的极客老爷子联系我,说他在Twitter上看到一个推文,问我这个情况是否属实。我大概看了一下,内容基本上概括下来就是,中国移动的某些地方运营商将会对利用“DNS污染”的原理,将用户的请求解析到“其认为最近的加速节点”上,这一思想申请专利。

我们知道CDN的基本组件就是GSLB+Reverse proxy+cache,按照这位美国老爷子的截图,以及他上下文的描述,大概可以理解为:移动内网里可能有些CDN加速节点,或是某些CDN厂商的,或是廉价租给某些厂商的,甚至可能是一些“未经授权的”自建节点。

由于中国移动的网络结构比较奇葩(换而言之人家初期的网络设计就是给普通wap手机网络搞的,就算合并进来的铁通最开始也是做铁路线附近的网络的,压根不是给普通的宽带用户上网用的),且为了保证更少的缴纳跨运营商的流量费,甚至创收,早些年的适合移动经常做的事情就是在纯http协议的网站上插广告、网站劫持和代理访问。

本人之前也是在国内的云厂商工作过的,每天客户因为运营商劫持、插广告骂娘的事情不少,甚至有人因为被当地运营商插了带有“近似于色情图片”的广告差点被举报。由于年代久远,具体的也记得不是很清楚了,因而就不多举例子了。

Continue reading
Posted in Life, Network | Tagged | 2 Comments