Python之 Func的安裝

2021-08-14 14:44:38 字數 3471 閱讀 1580

1、主控端伺服器安裝

主控端部署在主機liuyazhuang121上,用過yum方式安裝,如下:

# yum install func -y

# /sbin/chkconfig --level 345 certmaster on

在裝置通訊上func要求使用主機名來識別,在主控端配置如下:

【/etc/hosts】

192.168.209.121 liuyazhuang121

192.168.209.122 liuyazhuang122

192.168.209.123 liuyazhuang123

修改/etc/certmaster/minion.conf的certmaster引數,指向證書伺服器,即主控端伺服器,funuc命令

用到此配置,如:

【/etc/certmaster/minion.conf】

# configuration for minions

[main]

certmaster = liuyazhuang121

certmaster_port = 51235

log_level = debug

cert_dir = /etc/pki/certmaster

啟動證書服務:

/sbin/service certmaster start
配置iptables,開通192.168.209.0/24網段訪問證書服務51235(certmaster服務)埠。

# iptables -i input -s 192.168.209.0/24 -p tcp --dport 51235 -j accept
至此,主控端配置完畢。

2、被控端伺服器安裝

被控端部署在主機名為liuyazhuang122、liuyazhuang123的裝置上,同樣通過yum方式安裝,如下:

# yum install func -y

# /sbin/chkconfig --level 345 funcd on

配置hosts資訊:

【/etc/hosts】

192.168.209.121 liuyazhuang121

192.168.209.122 liuyazhuang122

192.168.209.123 liuyazhuang123

修改/etc/certmaster/minion.conf的certmaster引數,以便指向證書伺服器發出簽名請求,建立信任關係,如:

【/etc/certmaster/minion.conf】

# configuration for minions

[main]

certmaster = liuyazhuang121

certmaster_port = 51235

log_level = debug

cert_dir = /etc/pki/certmaster

修改/etc/func/minion.conf的minion_name引數,作為被控主機的唯一標識,一般使用主機名,以liuyazhuang122為例,配置如下:

【/etc/func/minion.conf】

# configuration for minions

[main]

log_level = info

acl_dir = /etc/func/minion-acl.d

listen_addr =

listen_port = 51234

minion_name = liuyazhuang122

method_log_dir = /var/log/func/methods/

啟動func服務:

# /sbin/service funcd start
配置iptables,開通192.168.209.121主控端主機訪問被控端主機51234(func服務)埠,

# iptables -i input -s 192.168.209.121 -p tcp --dport 51234 -j accept
至此,被控端配置完畢。

3、證書簽名

在主控端執行certmaster-ca --list獲取當前請求證書簽名的主機清單,如:

# certmaster-ca --list

liuyazhuang122

liuyazhuang123

證書簽名通過certmaster-ca --sign hostname命令來完成,如:

# certmaster-ca --sign liuyazhuang122
也可以結合--list、--sign引數實現一鍵完成所有主機的簽名操作,如:

# certmaster-ca --sign 'certmaster-ca --list'
func也提供了類似saltstack自動簽名的機制,通過修改/etc/certmaster/certmaster.conf的引數autodsign = no為autosign = yes即可。

使用func "*" list_minions檢視已經完成簽名的主機,如:

# func '*' list_minions

liuyazhuang122

liuyazhuang123

刪除(登出)簽名主機使用certmaster-ca -c hostname,如:

# certmaster-ca -c liuyazhuang122
校驗安裝、任務簽名是否正確,通過func "*" ping命令測試,如下所示:

[root@liuyazhuang121 ~]func "*" ping

[ok ... ] liuyazhuang122

[ok ... ] liuyazhuang123

注意:對已經登出的被控伺服器,要重新註冊,先刪除被控端主機/etc/pki/certmaster/下的證書檔案,再執行certmaster-request進行證書請求,具體引數步驟如下:

# rm -rf /etc/pki/certmaster/主機名.*

# /usr/bin/certmaster-request

函式指標,func與 func的區別

1.函式名,就是函式的首位址,那麼func與 func應該是不一樣的,偶然看到別人說兩種用法一樣,所以決定試一試。2.環境配置,vscode 模組 c c 0.29.0 編譯器 mingw,x86 64 8.1.0x86 64 8.1.0。3.如下 include include include v...

C 委託之Action和Func

一 action和func委託 除了上篇描述的為每個引數和返回型別定義乙個新委託型別之外,還可以使用action和func委託。通過t的標示,我們可以知道這是兩個泛型委託。二 action 其中action委託表示引用乙個void返回型別的方法。這個委託存在不同的變體,可以傳遞最多16種不同的引數型...

Python之requests的安裝

在 windows 系統下,只需要輸入命令 pip install requests 即可安裝。在 linux 系統下,只需要輸入命令 sudo pip install requests 即可安裝。注 關於python第三方庫的安裝最好少使用 easy install,因為 easy install...