Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
8279916c
Commit
8279916c
authored
Oct 31, 2017
by
Lantao Liu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix calico network policy for opensource.
Signed-off-by:
Lantao Liu
<
lantaol@google.com
>
parent
dc35709e
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
46 additions
and
8 deletions
+46
-8
common.sh
cluster/common.sh
+7
-2
config-default.sh
cluster/gce/config-default.sh
+4
-1
config-test.sh
cluster/gce/config-test.sh
+4
-1
configure-vm.sh
cluster/gce/configure-vm.sh
+5
-0
configure-helper.sh
cluster/gce/container-linux/configure-helper.sh
+3
-0
configure-helper.sh
cluster/gce/gci/configure-helper.sh
+20
-4
default
cluster/saltbase/salt/kubelet/default
+3
-0
No files found.
cluster/common.sh
View file @
8279916c
...
...
@@ -899,12 +899,17 @@ EOF
cat
>>
$file
<<
EOF
NODE_LABELS:
$(
yaml-quote
${
NODE_LABELS
})
EOF
fi
fi
if
[
-n
"
${
NON_MASTER_NODE_LABELS
:-}
"
]
;
then
cat
>>
$file
<<
EOF
NON_MASTER_NODE_LABELS:
$(
yaml-quote
${
NON_MASTER_NODE_LABELS
})
EOF
fi
if
[
-n
"
${
EVICTION_HARD
:-}
"
]
;
then
cat
>>
$file
<<
EOF
EVICTION_HARD:
$(
yaml-quote
${
EVICTION_HARD
})
EOF
fi
fi
if
[[
"
${
master
}
"
==
"true"
&&
"
${
MASTER_OS_DISTRIBUTION
}
"
==
"container-linux"
]]
||
\
[[
"
${
master
}
"
==
"false"
&&
"
${
NODE_OS_DISTRIBUTION
}
"
==
"container-linux"
]]
;
then
# Container-Linux-only env vars. TODO(yifan): Make them available on other distros.
...
...
cluster/gce/config-default.sh
View file @
8279916c
...
...
@@ -144,10 +144,13 @@ HEAPSTER_MACHINE_TYPE="${HEAPSTER_MACHINE_TYPE:-}"
# TODO(piosz): remove this in 1.8
NODE_LABELS
=
"
${
KUBE_NODE_LABELS
:-
beta
.kubernetes.io/fluentd-ds-ready=true
}
"
# NON_MASTER_NODE_LABELS are labels will only be applied on non-master nodes.
NON_MASTER_NODE_LABELS
=
"
${
KUBE_NON_MASTER_NODE_LABELS
:-}
"
# To avoid running Calico on a node that is not configured appropriately,
# label each Node so that the DaemonSet can run the Pods only on ready Nodes.
if
[[
${
NETWORK_POLICY_PROVIDER
:-}
==
"calico"
]]
;
then
NO
DE_LABELS
=
"
${
NODE_LABELS
}
,
projectcalico.org/ds-ready=true"
NO
N_MASTER_NODE_LABELS
=
"
${
NON_MASTER_NODE_LABELS
:+
${
NON_MASTER_NODE_LABELS
}
,
}
projectcalico.org/ds-ready=true"
fi
# Enable metadata concealment by firewalling pod traffic to the metadata server
...
...
cluster/gce/config-test.sh
View file @
8279916c
...
...
@@ -199,10 +199,13 @@ KUBEPROXY_TEST_ARGS="${KUBEPROXY_TEST_ARGS:-} ${TEST_CLUSTER_API_CONTENT_TYPE}"
# TODO(piosz): remove this in 1.8
NODE_LABELS
=
"
${
KUBE_NODE_LABELS
:-
beta
.kubernetes.io/fluentd-ds-ready=true
}
"
# NON_MASTER_NODE_LABELS are labels will only be applied on non-master nodes.
NON_MASTER_NODE_LABELS
=
"
${
KUBE_NON_MASTER_NODE_LABELS
:-}
"
# To avoid running Calico on a node that is not configured appropriately,
# label each Node so that the DaemonSet can run the Pods only on ready Nodes.
if
[[
${
NETWORK_POLICY_PROVIDER
:-}
==
"calico"
]]
;
then
NO
DE_LABELS
=
"
$NODE_LABELS
,
projectcalico.org/ds-ready=true"
NO
N_MASTER_NODE_LABELS
=
"
${
NON_MASTER_NODE_LABELS
:+
${
NON_MASTER_NODE_LABELS
}
,
}
projectcalico.org/ds-ready=true"
fi
# Enable metadata concealment by firewalling pod traffic to the metadata server
...
...
cluster/gce/configure-vm.sh
View file @
8279916c
...
...
@@ -586,6 +586,11 @@ EOF
node_labels: '
$(
echo
"
${
NODE_LABELS
}
"
|
sed
-e
"s/'/''/g"
)
'
EOF
fi
if
[
-n
"
${
NON_MASTER_NODE_LABELS
:-}
"
]
;
then
cat
<<
EOF
>>/srv/salt-overlay/pillar/cluster-params.sls
non_master_node_labels: '
$(
echo
"
${
NON_MASTER_NODE_LABELS
}
"
|
sed
-e
"s/'/''/g"
)
'
EOF
fi
if
[
-n
"
${
NODE_TAINTS
:-}
"
]
;
then
cat
<<
EOF
>>/srv/salt-overlay/pillar/cluster-params.sls
node_taints: '
$(
echo
"
${
NODE_TAINTS
}
"
|
sed
-e
"s/'/''/g"
)
'
...
...
cluster/gce/container-linux/configure-helper.sh
View file @
8279916c
...
...
@@ -598,6 +598,9 @@ function start-kubelet {
if
[[
-n
"
${
NODE_LABELS
:-}
"
]]
;
then
node_labels
=
"
${
node_labels
:+
${
node_labels
}
,
}${
NODE_LABELS
}
"
fi
if
[[
-n
"
${
NON_MASTER_NODE_LABELS
:-}
"
&&
"
${
KUBERNETES_MASTER
:-}
"
!=
"true"
]]
;
then
node_labels
=
"
${
node_labels
:+
${
node_labels
}
,
}${
NON_MASTER_NODE_LABELS
}
"
fi
if
[[
-n
"
${
node_labels
:-}
"
]]
;
then
flags+
=
" --node-labels=
${
node_labels
}
"
fi
...
...
cluster/gce/gci/configure-helper.sh
View file @
8279916c
...
...
@@ -60,6 +60,20 @@ function config-ip-firewall {
if
[[
"
${
ENABLE_METADATA_CONCEALMENT
:-}
"
==
"true"
]]
;
then
iptables
-A
KUBE-METADATA-SERVER
-j
DROP
fi
# Flush iptables nat table
iptables
-t
nat
-F
||
true
if
[[
"
${
NETWORK_POLICY_PROVIDER
:-}
"
==
"calico"
&&
"
${
KUBERNETES_MASTER
:-}
"
==
false
]]
;
then
echo
"Add rules for ip masquerade"
iptables
-t
nat
-N
IP-MASQ
iptables
-t
nat
-A
POSTROUTING
-m
comment
--comment
"ip-masq: ensure nat POSTROUTING directs all non-LOCAL destination traffic to our custom IP-MASQ chain"
-m
addrtype
!
--dst-type
LOCAL
-j
IP-MASQ
iptables
-t
nat
-A
IP-MASQ
-d
169.254.0.0/16
-m
comment
--comment
"ip-masq: local traffic is not subject to MASQUERADE"
-j
RETURN
iptables
-t
nat
-A
IP-MASQ
-d
10.0.0.0/8
-m
comment
--comment
"ip-masq: local traffic is not subject to MASQUERADE"
-j
RETURN
iptables
-t
nat
-A
IP-MASQ
-d
172.16.0.0/12
-m
comment
--comment
"ip-masq: local traffic is not subject to MASQUERADE"
-j
RETURN
iptables
-t
nat
-A
IP-MASQ
-d
192.168.0.0/16
-m
comment
--comment
"ip-masq: local traffic is not subject to MASQUERADE"
-j
RETURN
iptables
-t
nat
-A
IP-MASQ
-m
comment
--comment
"ip-masq: outbound traffic is subject to MASQUERADE (must be last in chain)"
-j
MASQUERADE
fi
}
function
create-dirs
{
...
...
@@ -938,7 +952,9 @@ function start-kubelet {
flags+
=
" --cni-bin-dir=/home/kubernetes/bin"
if
[[
"
${
NETWORK_POLICY_PROVIDER
:-}
"
==
"calico"
]]
;
then
# Calico uses CNI always.
if
[[
"
${
KUBERNETES_PRIVATE_MASTER
:-}
"
==
"true"
]]
;
then
# Keep KUBERNETES_PRIVATE_MASTER for backward compatibility.
# Note that network policy won't work for master node.
if
[[
"
${
KUBERNETES_PRIVATE_MASTER
:-}
"
==
"true"
||
"
${
KUBERNETES_MASTER
:-}
"
==
"true"
]]
;
then
flags+
=
" --network-plugin=
${
NETWORK_PROVIDER
}
"
else
flags+
=
" --network-plugin=cni"
...
...
@@ -971,6 +987,9 @@ function start-kubelet {
if
[[
-n
"
${
NODE_LABELS
:-}
"
]]
;
then
node_labels
=
"
${
node_labels
:+
${
node_labels
}
,
}${
NODE_LABELS
}
"
fi
if
[[
-n
"
${
NON_MASTER_NODE_LABELS
:-}
"
&&
"
${
KUBERNETES_MASTER
:-}
"
!=
"true"
]]
;
then
node_labels
=
"
${
node_labels
:+
${
node_labels
}
,
}${
NON_MASTER_NODE_LABELS
}
"
fi
if
[[
-n
"
${
node_labels
:-}
"
]]
;
then
flags+
=
" --node-labels=
${
node_labels
}
"
fi
...
...
@@ -1007,9 +1026,6 @@ ExecStart=${kubelet_bin} \$KUBELET_OPTS
WantedBy=multi-user.target
EOF
# Flush iptables nat table
iptables
-t
nat
-F
||
true
systemctl start kubelet.service
}
...
...
cluster/saltbase/salt/kubelet/default
View file @
8279916c
...
...
@@ -171,6 +171,9 @@
{% set kube_proxy_ds_label = "beta.kubernetes.io/kube-proxy-ds-ready=true," %}
{% endif %}
{% set node_labels = kube_proxy_ds_label + pillar['node_labels'] %}
{% if grains['roles'][0] != 'kubernetes-master' and pillar['non_master_node_labels'] is defined -%}
{% set node_labels = pillar['non_master_node_labels'] + "," + node_labels %}
{% endif %}
{% if node_labels != "" %}
{% set node_labels="--node-labels=" + node_labels %}
{% endif %}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment