diff --git a/Ansible剧本编写测试题.docx b/Ansible剧本编写测试题.docx old mode 100755 new mode 100644 index a95da7a..b52a798 Binary files a/Ansible剧本编写测试题.docx and b/Ansible剧本编写测试题.docx differ diff --git a/ansible-playbook-test2/consul-cluster/bin/consul b/ansible-playbook-test2/consul-cluster/bin/consul new file mode 100755 index 0000000..ab545e3 Binary files /dev/null and b/ansible-playbook-test2/consul-cluster/bin/consul differ diff --git a/ansible-playbook-test2/consul-cluster/bin/consul-replicate b/ansible-playbook-test2/consul-cluster/bin/consul-replicate new file mode 100755 index 0000000..ff88875 Binary files /dev/null and b/ansible-playbook-test2/consul-cluster/bin/consul-replicate differ diff --git a/ansible-playbook-test2/consul-cluster/bin/consul_replicate.sh b/ansible-playbook-test2/consul-cluster/bin/consul_replicate.sh new file mode 100755 index 0000000..629595c --- /dev/null +++ b/ansible-playbook-test2/consul-cluster/bin/consul_replicate.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# +killall -9 consul-replicate +cd /opt/consul-internal/bin/;./consul-replicate -prefix "device_info@consul-external_new" &>/dev/null & +cd /opt/consul-internal/bin/;./consul-replicate -prefix "device_list@consul-external_new" &>/dev/null & +cd /opt/consul-internal/bin/;./consul-replicate -prefix "tags@consul-external_new" &>/dev/null & diff --git a/ansible-playbook-test2/consul-cluster/etc/consul/config-server.json b/ansible-playbook-test2/consul-cluster/etc/consul/config-server.json new file mode 100644 index 0000000..9d7c8cd --- /dev/null +++ b/ansible-playbook-test2/consul-cluster/etc/consul/config-server.json @@ -0,0 +1,12 @@ +{ + "server" : true, + "datacenter" : "", + "data_dir" : "/var/consul-external", + "encrypt" : "", + "disable_update_check" : true, + "bootstrap" : true, + "log_file" : "/var/consul-external/log/consul_external.log", + "retry_join" : [""], + "retry_interval" : "10s" +} + diff --git a/ansible-playbook-test2/consul-cluster/etc/systemd/consul-server.service b/ansible-playbook-test2/consul-cluster/etc/systemd/consul-server.service new file mode 100644 index 0000000..9fde039 --- /dev/null +++ b/ansible-playbook-test2/consul-cluster/etc/systemd/consul-server.service @@ -0,0 +1,14 @@ +# Systemd unit file for default tomcat +# + +[Unit] +Description=Consul-cluster +After=network.target + +[Service] +EnvironmentFile=/opt/consul-cluster/etc/systemd/consul.conf +ExecStartPre=/opt/consul-cluster/script/consul_bind_ip_generate.sh +ExecStart=/opt/consul-cluster/bin/consul agent -config-dir /opt/consul-cluster/etc/ -config-file /opt/consul-cluster/etc/consul/config-server.json -bind ${CONSUL_BIND_ADDRESS} -client 0.0.0.0 + +[Install] +WantedBy=multi-user.target diff --git a/ansible-playbook-test2/consul-cluster/etc/systemd/consul.conf b/ansible-playbook-test2/consul-cluster/etc/systemd/consul.conf new file mode 100644 index 0000000..e69de29 diff --git a/ansible-playbook-test2/consul-cluster/install.sh b/ansible-playbook-test2/consul-cluster/install.sh new file mode 100755 index 0000000..34ba446 --- /dev/null +++ b/ansible-playbook-test2/consul-cluster/install.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +rm -rf /usr/lib/systemd/system/consul*service +rm -rf /usr/lib/systemd/system/consul*service +rm -rf /var/consul* +cp -f /opt/consul-cluster/etc/systemd/consul-server.service /usr/lib/systemd/system/consul-server-cluster.service +cp -f /opt/consul-cluster/bin/consul /usr/bin/ +ln -sf /opt/consul-cluster/script/consul_path_setup.sh /etc/profile.d/ diff --git a/ansible-playbook-test2/consul-cluster/script/consul_bind_ip_generate.sh b/ansible-playbook-test2/consul-cluster/script/consul_bind_ip_generate.sh new file mode 100755 index 0000000..99e30f2 --- /dev/null +++ b/ansible-playbook-test2/consul-cluster/script/consul_bind_ip_generate.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +#BIND_ADDRESS=$(/usr/sbin/ip route | /usr/bin/grep default | head -n 1 | /usr/bin/awk '{print $5}' | /usr/bin/xargs ifconfig | /usr/bin/grep "inet" | /usr/bin/grep -v "inet6" | /usr/bin/awk '{print $2}') +BIND_ADDRESS=$(ifconfig ens34 | grep inet | head -1 |awk '{print $2}') +#BIND_ADDRESS=192.168.200.5 +systemctl set-environment CONSUL_BIND_ADDRESS=${BIND_ADDRESS} diff --git a/ansible-playbook-test2/consul-cluster/script/consul_path_setup.sh b/ansible-playbook-test2/consul-cluster/script/consul_path_setup.sh new file mode 100755 index 0000000..e32711b --- /dev/null +++ b/ansible-playbook-test2/consul-cluster/script/consul_path_setup.sh @@ -0,0 +1,3 @@ + +PATH=/opt/consul-external/bin:${PATH} +export PATH diff --git a/ansible-playbook-test2/consul-external/bin/consul b/ansible-playbook-test2/consul-external/bin/consul new file mode 100755 index 0000000..ab545e3 Binary files /dev/null and b/ansible-playbook-test2/consul-external/bin/consul differ diff --git a/ansible-playbook-test2/consul-external/bin/consul-replicate b/ansible-playbook-test2/consul-external/bin/consul-replicate new file mode 100755 index 0000000..ff88875 Binary files /dev/null and b/ansible-playbook-test2/consul-external/bin/consul-replicate differ diff --git a/ansible-playbook-test2/consul-external/bin/consul_replicate.sh b/ansible-playbook-test2/consul-external/bin/consul_replicate.sh new file mode 100755 index 0000000..629595c --- /dev/null +++ b/ansible-playbook-test2/consul-external/bin/consul_replicate.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# +killall -9 consul-replicate +cd /opt/consul-internal/bin/;./consul-replicate -prefix "device_info@consul-external_new" &>/dev/null & +cd /opt/consul-internal/bin/;./consul-replicate -prefix "device_list@consul-external_new" &>/dev/null & +cd /opt/consul-internal/bin/;./consul-replicate -prefix "tags@consul-external_new" &>/dev/null & diff --git a/ansible-playbook-test2/consul-external/etc/consul/config-server.json b/ansible-playbook-test2/consul-external/etc/consul/config-server.json new file mode 100644 index 0000000..9d7c8cd --- /dev/null +++ b/ansible-playbook-test2/consul-external/etc/consul/config-server.json @@ -0,0 +1,12 @@ +{ + "server" : true, + "datacenter" : "", + "data_dir" : "/var/consul-external", + "encrypt" : "", + "disable_update_check" : true, + "bootstrap" : true, + "log_file" : "/var/consul-external/log/consul_external.log", + "retry_join" : [""], + "retry_interval" : "10s" +} + diff --git a/ansible-playbook-test2/consul-external/etc/systemd/consul-server.service b/ansible-playbook-test2/consul-external/etc/systemd/consul-server.service new file mode 100644 index 0000000..9d5a734 --- /dev/null +++ b/ansible-playbook-test2/consul-external/etc/systemd/consul-server.service @@ -0,0 +1,14 @@ +# Systemd unit file for default tomcat +# + +[Unit] +Description=Consul-external +After=network.target + +[Service] +EnvironmentFile=/opt/consul-external/etc/systemd/consul.conf +ExecStartPre=/opt/consul-external/script/consul_bind_ip_generate.sh +ExecStart=/opt/consul-external/bin/consul agent -config-dir /opt/consul-external/etc/ -config-file /opt/consul-external/etc/consul/config-server.json -bind ${CONSUL_BIND_ADDRESS} -client 0.0.0.0 + +[Install] +WantedBy=multi-user.target diff --git a/ansible-playbook-test2/consul-external/etc/systemd/consul.conf b/ansible-playbook-test2/consul-external/etc/systemd/consul.conf new file mode 100644 index 0000000..e69de29 diff --git a/ansible-playbook-test2/consul-external/install.sh b/ansible-playbook-test2/consul-external/install.sh new file mode 100755 index 0000000..96c1354 --- /dev/null +++ b/ansible-playbook-test2/consul-external/install.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +rm -rf /usr/lib/systemd/system/consul*service +rm -rf /usr/lib/systemd/system/consul*service +rm -rf /var/consul* +cp -f /opt/consul-external/etc/systemd/consul-server.service /usr/lib/systemd/system/consul-server-external.service +cp -f /opt/consul-external/bin/consul /usr/bin/ +ln -sf /opt/consul-external/script/consul_path_setup.sh /etc/profile.d/ + + + diff --git a/ansible-playbook-test2/consul-external/script/consul_bind_ip_generate.sh b/ansible-playbook-test2/consul-external/script/consul_bind_ip_generate.sh new file mode 100755 index 0000000..cf601d4 --- /dev/null +++ b/ansible-playbook-test2/consul-external/script/consul_bind_ip_generate.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +#BIND_ADDRESS=$(/usr/sbin/ip route | /usr/bin/grep default | head -n 1 | /usr/bin/awk '{print $5}' | /usr/bin/xargs ifconfig | /usr/bin/grep "inet" | /usr/bin/grep -v "inet6" | /usr/bin/awk '{print $2}') +BIND_ADDRESS=$(ifconfig ens1.200 | grep inet | head -1 |awk '{print $2}') +#BIND_ADDRESS=192.168.200.5 +systemctl set-environment CONSUL_BIND_ADDRESS=${BIND_ADDRESS} diff --git a/ansible-playbook-test2/consul-external/script/consul_path_setup.sh b/ansible-playbook-test2/consul-external/script/consul_path_setup.sh new file mode 100755 index 0000000..e32711b --- /dev/null +++ b/ansible-playbook-test2/consul-external/script/consul_path_setup.sh @@ -0,0 +1,3 @@ + +PATH=/opt/consul-external/bin:${PATH} +export PATH diff --git a/ansible-playbook-test2/consul-internal/bin/consul b/ansible-playbook-test2/consul-internal/bin/consul new file mode 100755 index 0000000..ab545e3 Binary files /dev/null and b/ansible-playbook-test2/consul-internal/bin/consul differ diff --git a/ansible-playbook-test2/consul-internal/bin/consul-replicate b/ansible-playbook-test2/consul-internal/bin/consul-replicate new file mode 100755 index 0000000..ff88875 Binary files /dev/null and b/ansible-playbook-test2/consul-internal/bin/consul-replicate differ diff --git a/ansible-playbook-test2/consul-internal/etc/consul/config-client.json b/ansible-playbook-test2/consul-internal/etc/consul/config-client.json new file mode 100644 index 0000000..b39a8c1 --- /dev/null +++ b/ansible-playbook-test2/consul-internal/etc/consul/config-client.json @@ -0,0 +1,11 @@ +{ + "server" : false, + "datacenter" : "", + "data_dir" : "/var/consul-internal", + "encrypt" : "", + "disable_update_check" : true, + "log_level" : "err", + "log_file" : "/var/consul-internal/log/consul_internal.log", + "retry_join" : [""], + "retry_interval" : "10s" +} diff --git a/ansible-playbook-test2/consul-internal/etc/systemd/consul-client.service b/ansible-playbook-test2/consul-internal/etc/systemd/consul-client.service new file mode 100644 index 0000000..5ba0713 --- /dev/null +++ b/ansible-playbook-test2/consul-internal/etc/systemd/consul-client.service @@ -0,0 +1,14 @@ +# Systemd unit file for default tomcat +# + +[Unit] +Description=Consul-internal +After=network.target + +[Service] +EnvironmentFile=/opt/consul-internal/etc/systemd/consul.conf +ExecStartPre=/opt/consul-internal/script/consul_bind_ip_generate.sh +ExecStart=/opt/consul-internal/bin/consul agent -config-dir /opt/consul-internal/etc/ -config-file /opt/consul-internal/etc/consul/config-client.json -bind ${CONSUL_BIND_ADDRESS} + +[Install] +WantedBy=multi-user.target diff --git a/ansible-playbook-test2/consul-internal/etc/systemd/consul.conf b/ansible-playbook-test2/consul-internal/etc/systemd/consul.conf new file mode 100644 index 0000000..e69de29 diff --git a/ansible-playbook-test2/consul-internal/install.sh b/ansible-playbook-test2/consul-internal/install.sh new file mode 100755 index 0000000..ce3a01a --- /dev/null +++ b/ansible-playbook-test2/consul-internal/install.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +rm -f /usr/lib/systemd/system/consul*service +rm -f /usr/lib/systemd/system/consul*service +cp -f /opt/consul-internal/etc/systemd/consul-client.service /usr/lib/systemd/system/consul-client-internal.service +cp -f /opt/consul-internal/bin/consul /usr/bin/ +ln -sf /opt/consul-internal/script/consul_path_setup.sh /etc/profile.d/ + + + diff --git a/ansible-playbook-test2/consul-internal/script/consul_bind_ip_generate.sh b/ansible-playbook-test2/consul-internal/script/consul_bind_ip_generate.sh new file mode 100755 index 0000000..df570e9 --- /dev/null +++ b/ansible-playbook-test2/consul-internal/script/consul_bind_ip_generate.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +BIND_ADDRESS=$(ifconfig ens1.200 | grep inet | head -1 |awk '{print $2}') +systemctl set-environment CONSUL_BIND_ADDRESS=${BIND_ADDRESS} diff --git a/ansible-playbook-test2/consul-internal/script/consul_path_setup.sh b/ansible-playbook-test2/consul-internal/script/consul_path_setup.sh new file mode 100755 index 0000000..f97b3cf --- /dev/null +++ b/ansible-playbook-test2/consul-internal/script/consul_path_setup.sh @@ -0,0 +1,3 @@ + +PATH=/opt/consul-internal/bin:${PATH} +export PATH