Skip to content

Commit

Permalink
Configuring OVN for egressIP
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Constantinescu <aconstan@redhat.com>
  • Loading branch information
alexanderConstantinescu committed Jul 16, 2020
1 parent 08f28e3 commit ed616ed
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 1 deletion.
4 changes: 3 additions & 1 deletion contrib/kind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,12 @@ docker build -t ovn-daemonset-f:dev -f Dockerfile.fedora .
--k8s-apiserver=https://[${API_IP}]:11337 \
--ovn-master-count=${KIND_NUM_MASTER} \
--kind \
--master-loglevel=5
--master-loglevel=5 \
--egress-ip-enable=true
popd
kind load docker-image ovn-daemonset-f:dev --name ${KIND_CLUSTER_NAME}
pushd ../dist/yaml
run_kubectl apply -f k8s.ovn.org_egressips.yaml
run_kubectl apply -f ovn-setup.yaml
CONTROL_NODES=$(docker ps -f name=ovn-control | grep -v NAMES | awk '{ print $NF }')
for n in $CONTROL_NODES; do
Expand Down
9 changes: 9 additions & 0 deletions dist/images/daemonset.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ OVNKUBE_LOGFILE_MAXAGE=""
OVN_MASTER_COUNT=""
OVN_REMOTE_PROBE_INTERVAL=""
OVN_HYBRID_OVERLAY_ENABLE=""
OVN_EGRESSIP_ENABLE=

# Parse parameters given as arguments to this script.
while [ "$1" != "" ]; do
Expand Down Expand Up @@ -127,6 +128,9 @@ while [ "$1" != "" ]; do
--hybrid-enabled)
OVN_HYBRID_OVERLAY_ENABLE=$VALUE
;;
--egress-ip-enable)
OVN_EGRESSIP_ENABLE=$VALUE
;;
*)
echo "WARNING: unknown parameter \"$PARAM\""
exit 1
Expand Down Expand Up @@ -176,6 +180,8 @@ ovnkube_logfile_maxage=${OVNKUBE_LOGFILE_MAXAGE:-"5"}
echo "ovnkube_logfile_maxage: ${ovnkube_logfile_maxage}"
ovn_hybrid_overlay_enable=${OVN_HYBRID_OVERLAY_ENABLE}
echo "ovn_hybrid_overlay_enable: ${ovn_hybrid_overlay_enable}"
ovn_egress_ip_enable=${OVN_EGRESSIP_ENABLE}
echo "ovn_egress_ip_enable: ${ovn_egress_ip_enable}"
ovn_hybrid_overlay_net_cidr=${OVN_HYBRID_OVERLAY_NET_CIDR}
echo "ovn_hybrid_overlay_net_cidr: ${ovn_hybrid_overlay_net_cidr}"
ovn_ssl_en=${OVN_SSL_ENABLE:-"no"}
Expand Down Expand Up @@ -209,6 +215,7 @@ ovn_image=${image} \
ovnkube_logfile_maxage=${ovnkube_logfile_maxage} \
ovn_hybrid_overlay_net_cidr=${ovn_hybrid_overlay_net_cidr} \
ovn_hybrid_overlay_enable=${ovn_hybrid_overlay_enable} \
ovn_egress_ip_enable=${ovn_egress_ip_enable} \
ovn_ssl_en=${ovn_ssl_en} \
ovn_remote_probe_interval=${ovn_remote_probe_interval} \
j2 ../templates/ovnkube-node.yaml.j2 -o ../yaml/ovnkube-node.yaml
Expand All @@ -223,6 +230,7 @@ ovn_image=${image} \
ovnkube_logfile_maxage=${ovnkube_logfile_maxage} \
ovn_hybrid_overlay_net_cidr=${ovn_hybrid_overlay_net_cidr} \
ovn_hybrid_overlay_enable=${ovn_hybrid_overlay_enable} \
ovn_egress_ip_enable=${ovn_egress_ip_enable} \
ovn_ssl_en=${ovn_ssl_en} \
ovn_master_count=${ovn_master_count} \
ovn_gateway_mode=${ovn_gateway_mode} \
Expand Down Expand Up @@ -267,5 +275,6 @@ net_cidr=${net_cidr} svc_cidr=${svc_cidr} \
j2 ../templates/ovn-setup.yaml.j2 -o ../yaml/ovn-setup.yaml

cp ../templates/ovnkube-monitor.yaml.j2 ../yaml/ovnkube-monitor.yaml
cp ../templates/k8s.ovn.org_egressips.yaml.j2 ../yaml/k8s.ovn.org_egressips.yaml

exit 0
5 changes: 5 additions & 0 deletions dist/images/ovnkube.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ fi
# OVN_SB_RAFT_ELECTION_TIMER - ovn south db election timer in ms (default 1000)
# OVN_SSL_ENABLE - use SSL transport to NB/SB db and northd (default: no)
# OVN_REMOTE_PROBE_INTERVAL - ovn remote probe interval in ms (default 100000)
# OVN_EGRESSIP_ENABLE - enable egress IP for ovn-kubernetes

# The argument to the command is the operation to be performed
# ovn-master ovn-controller ovn-node display display_env ovn_debug
Expand Down Expand Up @@ -174,6 +175,8 @@ ovn_hybrid_overlay_enable=${OVN_HYBRID_OVERLAY_ENABLE:-}
ovn_hybrid_overlay_net_cidr=${OVN_HYBRID_OVERLAY_NET_CIDR:-}
#OVN_REMOTE_PROBE_INTERVAL - ovn remote probe interval in ms (default 100000)
ovn_remote_probe_interval=${OVN_REMOTE_PROBE_INTERVAL:-100000}
#OVN_EGRESSIP_ENABLE - enable egress IP for ovn-kubernetes
egressip_enable=${OVN_EGRESSIP_ENABLE:-false}

# Determine the ovn rundir.
if [[ -f /usr/bin/ovn-appctl ]]; then
Expand Down Expand Up @@ -790,6 +793,7 @@ ovn-master() {
--pidfile ${OVN_RUNDIR}/ovnkube-master.pid \
--logfile /var/log/ovn-kubernetes/ovnkube-master.log \
${ovn_master_ssl_opts} \
--egress-ip-enable ${egressip_enable} \
--metrics-bind-address "0.0.0.0:9409" &
echo "=============== ovn-master ========== running"
wait_for_event attempts=3 process_ready ovnkube-master
Expand Down Expand Up @@ -910,6 +914,7 @@ ovn-node() {
--logfile /var/log/ovn-kubernetes/ovnkube.log \
${ovn_node_ssl_opts} \
--inactivity-probe=${ovn_remote_probe_interval} \
--egress-ip-enable ${egressip_enable} \
--metrics-bind-address "0.0.0.0:9410" &

wait_for_event attempts=3 process_ready ovnkube
Expand Down
5 changes: 5 additions & 0 deletions dist/templates/ovn-setup.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,11 @@ rules:
- nodes
- pods
verbs: ["patch", "update"]
- apiGroups:
- k8s.ovn.org
resources:
- egressips
verbs: ["create", "list", "get", "watch", "patch", "update"]

---
apiVersion: rbac.authorization.k8s.io/v1
Expand Down
2 changes: 2 additions & 0 deletions dist/templates/ovnkube-master.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,8 @@ spec:
fieldPath: metadata.namespace
- name: OVN_HYBRID_OVERLAY_ENABLE
value: "{{ ovn_hybrid_overlay_enable }}"
- name: OVN_EGRESSIP_ENABLE
value: "{{ ovn_egress_ip_enable }}"
- name: OVN_HYBRID_OVERLAY_NET_CIDR
value: "{{ ovn_hybrid_overlay_net_cidr }}"
- name: OVN_SSL_ENABLE
Expand Down
2 changes: 2 additions & 0 deletions dist/templates/ovnkube-node.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,8 @@ spec:
value: "{{ ovn_gateway_opts }}"
- name: OVN_HYBRID_OVERLAY_ENABLE
value: "{{ ovn_hybrid_overlay_enable }}"
- name: OVN_EGRESSIP_ENABLE
value: "{{ ovn_egress_ip_enable }}"
- name: OVN_HYBRID_OVERLAY_NET_CIDR
value: "{{ ovn_hybrid_overlay_net_cidr }}"
- name: OVN_SSL_ENABLE
Expand Down

0 comments on commit ed616ed

Please sign in to comment.