From b8cbac6753e9990e75e7fcad8c347faa98846707 Mon Sep 17 00:00:00 2001 From: Jerzy Szczepkowski Date: Tue, 20 Sep 2016 16:34:56 +0200 Subject: [PATCH] HA master: add firewall rule for etcd cluster. HA master: add firewall rule for accessing & securing etcd cluster. --- cluster/gce/util.sh | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index f01ac264762..f91238370ab 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -655,12 +655,22 @@ function create-network() { gcloud compute networks create --project "${PROJECT}" "${NETWORK}" --range "10.240.0.0/16" fi - if ! gcloud compute firewall-rules --project "${PROJECT}" describe "${NETWORK}-default-internal" &>/dev/null; then - gcloud compute firewall-rules create "${NETWORK}-default-internal" \ + if ! gcloud compute firewall-rules --project "${PROJECT}" describe "${NETWORK}-default-internal-master" &>/dev/null; then + gcloud compute firewall-rules create "${NETWORK}-default-internal-master" \ --project "${PROJECT}" \ --network "${NETWORK}" \ --source-ranges "10.0.0.0/8" \ - --allow "tcp:1-65535,udp:1-65535,icmp" & + --allow "tcp:1-2379,tcp:2382-65535,udp:1-65535,icmp" \ + --target-tags "${MASTER_TAG}"& + fi + + if ! gcloud compute firewall-rules --project "${PROJECT}" describe "${NETWORK}-default-internal-node" &>/dev/null; then + gcloud compute firewall-rules create "${NETWORK}-default-internal-node" \ + --project "${PROJECT}" \ + --network "${NETWORK}" \ + --source-ranges "10.0.0.0/8" \ + --allow "tcp:1-65535,udp:1-65535,icmp" \ + --target-tags "${NODE_TAG}"& fi if ! gcloud compute firewall-rules describe --project "${PROJECT}" "${NETWORK}-default-ssh" &>/dev/null; then @@ -709,6 +719,16 @@ function create-master() { --size "${CLUSTER_REGISTRY_DISK_SIZE}" & fi + # Create rule for accessing and securing etcd servers. + if ! gcloud compute firewall-rules --project "${PROJECT}" describe "${MASTER_NAME}-etcd" &>/dev/null; then + gcloud compute firewall-rules create "${MASTER_NAME}-etcd" \ + --project "${PROJECT}" \ + --network "${NETWORK}" \ + --source-tags "${MASTER_TAG}" \ + --allow "tcp:2380,tcp:2381" \ + --target-tags "${MASTER_TAG}" & + fi + # Generate a bearer token for this cluster. We push this separately # from the other cluster variables so that the client (this # computer) can forget it later. This should disappear with @@ -1261,6 +1281,13 @@ function kube-down() { --quiet \ "${NODE_TAG}-all" fi + # Delete firewall rule for etcd servers. + if ! gcloud compute firewall-rules --project "${PROJECT}" describe "${MASTER_NAME}-etcd" &>/dev/null; then + gcloud compute firewall-rules delete \ + --project "${PROJECT}" \ + --quiet \ + "${MASTER_NAME}-etcd" + fi fi if [[ "${KUBE_DELETE_NODES:-}" != "false" ]]; then