1。概要
DevOp では、自動化されたデプロイメント作業が数多く行われます。自動プロセスの導入により、手動エラーが削減され、作業効率が向上し、さまざまな環境での迅速な導入が容易になります。
2 簡単なアイデア
2.1 準備
以下の3つのディレクトリを用意します。
./template #さまざまなサービスのデフォルト設定、テンプレート、yaml ファイルなど。
./conf #実際の環境で使用されるポート、IP、その他の設定ファイル
./target #最終的に生成された構成ファイルを配置します
知らせ:
1. テンプレート ファイルは一般的な構成である必要があり、ターゲット ファイルの生成時の操作への影響を避けるために、テンプレート ファイルを変更しないことが最善です。
2. crudini と sed の使用に習熟してください。
2.2 プロセスの概要
1. crud ツールを使用して conf ファイルを読み取り、さまざまな変数を取得します。
2. テンプレート ファイルをターゲット ディレクトリにコピーし、sed を使用して、取得した変数に基づいてファイルを変更します。
3. 最後に、更新されたターゲット ファイルを使用して、さまざまなサービスを作成します。
具体操作:
my.conf ファイルは次のとおりですが、このファイルは他の人に読み取られ、変更される可能性があるため、各変数のコメントを明確に記述する必要があります。
# 所有变量写在这个配置文件中
[CUSTOM]
# 宿主机的网卡名
# 有些虚拟机是类似ens33
# 有些类似eth0
host_if_name =eth0
# 数据库IP
mysql_ip =176.16.200.37
# 数据库业务端口
mysql_port =13916
# 网络存储NFS的IP地址
nfs_ip =172.16.200.30
[K8S]
# NodePort起始端口
node_port_start =1
# NodePort结束端口,不大于65535
node_port_end =65535
# Containerd持久化数据的存储路径
containerd_path =/var/lib/containerd
[HSM]
# 密码机IP地址
hsm_ip =172.16.200.10
# 密码机服务端口
# 缺省情况下,服务器密码机的服务端口是6667
# 云密码机的服务端口是6666
hsm_port =6666
たとえば、crudini を使用して上記のファイル内のデータベース IP を取得する操作は次のとおりです。
[root@others liu.bo]# mysql_ip=$(crudini --get my.conf CUSTOM mysql_ip)
[root@others liu.bo]# echo $mysql_ip
176.16.200.37
注: crudini がない場合は、yum install crudini -y を使用して crudini をインストールします。