Merge pull request #237 from dougbtv/entrypoint-nsisolation

[entrypoint] Adds option for namespaceIsolation in entrypoint
This commit is contained in:
Doug Smith 2019-01-15 13:42:49 -05:00 committed by GitHub
commit ac3f0d155e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -9,6 +9,7 @@ CNI_BIN_DIR="/host/opt/cni/bin"
MULTUS_CONF_FILE="/usr/src/multus-cni/images/70-multus.conf"
MULTUS_BIN_FILE="/usr/src/multus-cni/bin/multus"
MULTUS_KUBECONFIG_FILE_HOST="/etc/cni/net.d/multus.d/multus.kubeconfig"
MULTUS_NAMESPACE_ISOLATION=false
# Give help text for parameters.
function usage()
@ -27,6 +28,7 @@ function usage()
echo -e "\t--multus-conf-file=$MULTUS_CONF_FILE"
echo -e "\t--multus-bin-file=$MULTUS_BIN_FILE"
echo -e "\t--multus-kubeconfig-file-host=$MULTUS_KUBECONFIG_FILE_HOST"
echo -e "\t--namespace-isolation=$MULTUS_NAMESPACE_ISOLATION"
}
# Parse parameters given as arguments to this script.
@ -53,6 +55,9 @@ while [ "$1" != "" ]; do
--multus-kubeconfig-file-host)
MULTUS_KUBECONFIG_FILE_HOST=$VALUE
;;
--namespace-isolation)
MULTUS_NAMESPACE_ISOLATION=$VALUE
;;
*)
echo "ERROR: unknown parameter \"$PARAM\""
usage
@ -158,11 +163,16 @@ if [ "$MULTUS_CONF_FILE" == "auto" ]; then
elif [ "$MASTER_PLUGIN" == "00-multus.conf" ]; then
echo "Warning: Multus is already configured: auto configuration skipped."
else
ISOLATION_STRING=""
if [ "$MULTUS_NAMESPACE_ISOLATION" == true ]; then
ISOLATION_STRING="\"namespaceIsolation\": true,"
fi
MASTER_PLUGIN_JSON="$(cat $CNI_CONF_DIR/$MASTER_PLUGIN)"
CONF=$(cat <<-EOF
{
"name": "multus-cni-network",
"type": "multus",
$ISOLATION_STRING
"kubeconfig": "$MULTUS_KUBECONFIG_FILE_HOST",
"delegates": [
$MASTER_PLUGIN_JSON