Skip to content
Snippets Groups Projects
Commit d4040acd authored by MJB's avatar MJB
Browse files

added port mapping from vagrant VM host to containers

parent 20bbac2f
No related branches found
No related tags found
No related merge requests found
...@@ -18,7 +18,10 @@ Vagrant.configure("2") do |config| ...@@ -18,7 +18,10 @@ Vagrant.configure("2") do |config|
vb.memory = "8192" vb.memory = "8192"
end end
#config.vm.network "forwarded_port", guest: 80, host: 8080 # Tick stack on CLMC service
config.vm.network "forwarded_port", guest: 8888, host: 8888
config.vm.network "forwarded_port", guest: 8086, host: 8086
config.vm.network "forwarded_port", guest: 9092, host: 9092
# Install lxc # Install lxc
config.vm.provision :shell, inline: $lxc_script config.vm.provision :shell, inline: $lxc_script
......
...@@ -84,6 +84,17 @@ create() { ...@@ -84,6 +84,17 @@ create() {
# start telegraf # start telegraf
lxc-attach -n ${service_name} -- service telegraf restart lxc-attach -n ${service_name} -- service telegraf restart
fi fi
# set forward ports
ports=$(echo $SERVICE | jq -r '.forward_ports')
for row in $(echo "${ports}" | jq -r '.[] | @base64'); do
_jq() {
echo ${row} | base64 --decode | jq -r ${1}
}
guest_port=$(_jq '.guest')
host_port=$(_jq '.host')
iptables -t nat -A PREROUTING -p tcp -i enp0s3 --dport ${host_port} -j DNAT --to-destination ${ip}:${guest_port}
done
fi fi
} }
...@@ -111,8 +122,22 @@ destroy() { ...@@ -111,8 +122,22 @@ destroy() {
lxc-stop -n ${service_name} lxc-stop -n ${service_name}
echo "Destroying container: ${service_name}" echo "Destroying container: ${service_name}"
lxc-destroy -n ${service_name} lxc-destroy -n ${service_name}
ip=$(jq -r --arg NAME ${service_name} '.[] | select(.name==$NAME) | .ip_address' ${config_file})
# remove static ip
SERVICE=$(jq --arg NAME ${service_name} '.[] | select(.name==$NAME)' ${config_file})
ip=$(echo $SERVICE | jq -r '.ip_address')
sed -i "/dhcp-host=${service_name},/d" /etc/lxc/dnsmasq.conf sed -i "/dhcp-host=${service_name},/d" /etc/lxc/dnsmasq.conf
# remove forward ports
ports=$(echo $SERVICE | jq -r '.forward_ports')
for row in $(echo "${ports}" | jq -r '.[] | @base64'); do
_jq() {
echo ${row} | base64 --decode | jq -r ${1}
}
guest_port=$(_jq '.guest')
host_port=$(_jq '.host')
iptables -t nat -D PREROUTING -p tcp -i enp0s3 --dport ${host_port} -j DNAT --to-destination ${ip}:${guest_port}
done
fi fi
} }
...@@ -173,4 +198,8 @@ for service_name in $service_names; do ...@@ -173,4 +198,8 @@ for service_name in $service_names; do
;; ;;
esac esac
fi fi
echo "------>Create iptables summary"
iptables -t nat -L -n -v
done done
...@@ -3,7 +3,12 @@ ...@@ -3,7 +3,12 @@
"ip_address": "172.40.231.51", "ip_address": "172.40.231.51",
"influxdb_url": "http://172.40.231.51:8086", "influxdb_url": "http://172.40.231.51:8086",
"database_name": "CLMCMetrics", "database_name": "CLMCMetrics",
"report_period": "25" "report_period": "25",
"forward_ports": [
{ "guest": 8086, "host": 8086 },
{ "guest": 8888, "host": 8888 },
{ "guest": 9092, "host": 9092 }
]
}, },
{ {
"name": "apache", "name": "apache",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment