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
6d35b94f
Commit
6d35b94f
authored
Aug 21, 2017
by
Zihong Zheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add kube-proxy daemonset track to GCE startup scripts (GCI, Debian and CoreOS).
parent
1102656c
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
188 additions
and
33 deletions
+188
-33
kube-proxy-ds.yaml
cluster/addons/kube-proxy/kube-proxy-ds.yaml
+2
-0
configure-vm.sh
cluster/gce/configure-vm.sh
+33
-6
configure-helper.sh
cluster/gce/container-linux/configure-helper.sh
+68
-11
configure-helper.sh
cluster/gce/gci/configure-helper.sh
+69
-12
init.sls
cluster/saltbase/salt/kube-proxy/init.sls
+2
-0
kube-proxy.manifest
cluster/saltbase/salt/kube-proxy/kube-proxy.manifest
+4
-0
default
cluster/saltbase/salt/kubelet/default
+10
-4
No files found.
cluster/addons/kube-proxy/kube-proxy-ds.yaml
View file @
6d35b94f
...
@@ -48,6 +48,8 @@ spec:
...
@@ -48,6 +48,8 @@ spec:
-
-c
-
-c
-
echo -998 > /proc/$$$/oom_score_adj && kube-proxy {{kubeconfig}} {{cluster_cidr}} --resource-container="" {{params}} 1>>/var/log/kube-proxy.log 2>&1
-
echo -998 > /proc/$$$/oom_score_adj && kube-proxy {{kubeconfig}} {{cluster_cidr}} --resource-container="" {{params}} 1>>/var/log/kube-proxy.log 2>&1
{{
container_env
}}
{{
container_env
}}
{{
kube_cache_mutation_detector_env_name
}}
{{
kube_cache_mutation_detector_env_value
}}
securityContext
:
securityContext
:
privileged
:
true
privileged
:
true
volumeMounts
:
volumeMounts
:
...
...
cluster/gce/configure-vm.sh
View file @
6d35b94f
...
@@ -653,14 +653,15 @@ EOF
...
@@ -653,14 +653,15 @@ EOF
# This should happen both on cluster initialization and node upgrades.
# This should happen both on cluster initialization and node upgrades.
#
#
# - Uses the CA_CERT and KUBE_PROXY_TOKEN to generate a kubeconfig file for
# - When run as static pods, use the CA_CERT and KUBE_PROXY_TOKEN to generate a
# the kube-proxy to securely connect to the apiserver.
# kubeconfig file for the kube-proxy to securely connect to the apiserver.
# - When run as a daemonset, generate a kubeconfig file specific to service account.
function
create-salt-kubeproxy-auth
()
{
function
create-salt-kubeproxy-auth
()
{
local
-r
kube_proxy_kubeconfig_file
=
"/srv/salt-overlay/salt/kube-proxy/kubeconfig"
local
-r
kube_proxy_kubeconfig_file
=
"/srv/salt-overlay/salt/kube-proxy/kubeconfig"
local
kubeconfig_content
=
""
if
[
!
-e
"
${
kube_proxy_kubeconfig_file
}
"
]
;
then
if
[
!
-e
"
${
kube_proxy_kubeconfig_file
}
"
]
;
then
mkdir
-p
/srv/salt-overlay/salt/kube-proxy
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
!=
"true"
]]
;
then
(
umask
077
;
kubeconfig_content
=
"
\
cat
>
"
${
kube_proxy_kubeconfig_file
}
"
<<
EOF
apiVersion: v1
apiVersion: v1
kind: Config
kind: Config
users:
users:
...
@@ -676,7 +677,33 @@ contexts:
...
@@ -676,7 +677,33 @@ contexts:
cluster: local
cluster: local
user: kube-proxy
user: kube-proxy
name: service-account-context
name: service-account-context
current-context: service-account-context
current-context: service-account-context"
else
# Generate kubeconfig specific to service account.
kubeconfig_content
=
"
\
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
server: https://
${
KUBERNETES_MASTER_NAME
}
name: default
contexts:
- context:
cluster: default
namespace: default
user: default
name: default
current-context: default
users:
- name: default
user:
tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token"
fi
mkdir
-p
/srv/salt-overlay/salt/kube-proxy
(
umask
077
;
cat
>
"
${
kube_proxy_kubeconfig_file
}
"
<<
EOF
${
kubeconfig_content
}
EOF
EOF
)
)
fi
fi
...
...
cluster/gce/container-linux/configure-helper.sh
View file @
6d35b94f
...
@@ -387,8 +387,8 @@ function create-master-kubelet-auth {
...
@@ -387,8 +387,8 @@ function create-master-kubelet-auth {
fi
fi
}
}
function
create-kubeproxy-kubeconfig
{
function
create-kubeproxy-
user-
kubeconfig
{
echo
"Creating kube-proxy kubeconfig file"
echo
"Creating kube-proxy
user
kubeconfig file"
cat
<<
EOF
>/var/lib/kube-proxy/kubeconfig
cat
<<
EOF
>/var/lib/kube-proxy/kubeconfig
apiVersion: v1
apiVersion: v1
kind: Config
kind: Config
...
@@ -409,6 +409,30 @@ current-context: service-account-context
...
@@ -409,6 +409,30 @@ current-context: service-account-context
EOF
EOF
}
}
function
create-kubeproxy-serviceaccount-kubeconfig
{
echo
"Creating kube-proxy serviceaccount kubeconfig file"
cat
<<
EOF
>/var/lib/kube-proxy/kubeconfig
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
server: https://
${
KUBERNETES_MASTER_NAME
}
name: default
contexts:
- context:
cluster: default
namespace: default
user: default
name: default
current-context: default
users:
- name: default
user:
tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
EOF
}
function
create-kubecontrollermanager-kubeconfig
{
function
create-kubecontrollermanager-kubeconfig
{
echo
"Creating kube-controller-manager kubeconfig file"
echo
"Creating kube-controller-manager kubeconfig file"
mkdir
-p
/etc/srv/kubernetes/kube-controller-manager
mkdir
-p
/etc/srv/kubernetes/kube-controller-manager
...
@@ -613,8 +637,17 @@ function start-kubelet {
...
@@ -613,8 +637,17 @@ function start-kubelet {
if
[[
-n
"
${
ENABLE_CUSTOM_METRICS
:-}
"
]]
;
then
if
[[
-n
"
${
ENABLE_CUSTOM_METRICS
:-}
"
]]
;
then
flags+
=
" --enable-custom-metrics=
${
ENABLE_CUSTOM_METRICS
}
"
flags+
=
" --enable-custom-metrics=
${
ENABLE_CUSTOM_METRICS
}
"
fi
fi
local
node_labels
=
""
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
==
"true"
&&
"
${
KUBERNETES_MASTER
:-}
"
!=
"true"
]]
;
then
# Add kube-proxy daemonset label to node to avoid situation during cluster
# upgrade/downgrade when there are two instances of kube-proxy running on a node.
node_labels
=
"beta.kubernetes.io/kube-proxy-ds-ready=true"
fi
if
[[
-n
"
${
NODE_LABELS
:-}
"
]]
;
then
if
[[
-n
"
${
NODE_LABELS
:-}
"
]]
;
then
flags+
=
" --node-labels=
${
NODE_LABELS
}
"
node_labels
=
"
${
node_labels
:+
${
node_labels
}
,
}${
NODE_LABELS
}
"
fi
if
[[
-n
"
${
node_labels
:-}
"
]]
;
then
flags+
=
" --node-labels=
${
node_labels
}
"
fi
fi
if
[[
-n
"
${
NODE_TAINTS
:-}
"
]]
;
then
if
[[
-n
"
${
NODE_TAINTS
:-}
"
]]
;
then
flags+
=
" --register-with-taints=
${
NODE_TAINTS
}
"
flags+
=
" --register-with-taints=
${
NODE_TAINTS
}
"
...
@@ -666,11 +699,11 @@ function prepare-log-file {
...
@@ -666,11 +699,11 @@ function prepare-log-file {
chown
root:root
$1
chown
root:root
$1
}
}
#
Starts kube-proxy pod
.
#
Prepares parameters for kube-proxy manifest
.
function
start-kube-proxy
{
# $1 source path of kube-proxy manifest.
echo
"Start kube-proxy pod"
function
prepare-kube-proxy-manifest-variables
{
prepare-log-file /var/log/kube-proxy.log
local
-r
src_file
=
$1
;
local
-r
src_file
=
"
${
KUBE_HOME
}
/kube-manifests/kubernetes/kube-proxy.manifest"
remove-salt-config-comments
"
${
src_file
}
"
remove-salt-config-comments
"
${
src_file
}
"
local
-r
kubeconfig
=
"--kubeconfig=/var/lib/kube-proxy/kubeconfig"
local
-r
kubeconfig
=
"--kubeconfig=/var/lib/kube-proxy/kubeconfig"
...
@@ -689,14 +722,20 @@ function start-kube-proxy {
...
@@ -689,14 +722,20 @@ function start-kube-proxy {
params+
=
"
${
KUBEPROXY_TEST_ARGS
}
"
params+
=
"
${
KUBEPROXY_TEST_ARGS
}
"
fi
fi
local
container_env
=
""
local
container_env
=
""
local
kube_cache_mutation_detector_env_name
=
""
local
kube_cache_mutation_detector_env_value
=
""
if
[[
-n
"
${
ENABLE_CACHE_MUTATION_DETECTOR
:-}
"
]]
;
then
if
[[
-n
"
${
ENABLE_CACHE_MUTATION_DETECTOR
:-}
"
]]
;
then
container_env
=
"env:
\n
- name: KUBE_CACHE_MUTATION_DETECTOR
\n
value:
\"
${
ENABLE_CACHE_MUTATION_DETECTOR
}
\"
"
container_env
=
"env:"
kube_cache_mutation_detector_env_name
=
"- name: KUBE_CACHE_MUTATION_DETECTOR"
kube_cache_mutation_detector_env_value
=
"value:
\"
${
ENABLE_CACHE_MUTATION_DETECTOR
}
\"
"
fi
fi
sed
-i
-e
"s@{{kubeconfig}}@
${
kubeconfig
}
@g"
${
src_file
}
sed
-i
-e
"s@{{kubeconfig}}@
${
kubeconfig
}
@g"
${
src_file
}
sed
-i
-e
"s@{{pillar
\[
'kube_docker_registry'
\]
}}@
${
kube_docker_registry
}
@g"
${
src_file
}
sed
-i
-e
"s@{{pillar
\[
'kube_docker_registry'
\]
}}@
${
kube_docker_registry
}
@g"
${
src_file
}
sed
-i
-e
"s@{{pillar
\[
'kube-proxy_docker_tag'
\]
}}@
${
kube_proxy_docker_tag
}
@g"
${
src_file
}
sed
-i
-e
"s@{{pillar
\[
'kube-proxy_docker_tag'
\]
}}@
${
kube_proxy_docker_tag
}
@g"
${
src_file
}
sed
-i
-e
"s@{{params}}@
${
params
}
@g"
${
src_file
}
sed
-i
-e
"s@{{params}}@
${
params
}
@g"
${
src_file
}
sed
-i
-e
"s@{{container_env}}@
${
container_env
}
@g"
${
src_file
}
sed
-i
-e
"s@{{container_env}}@
${
container_env
}
@g"
${
src_file
}
sed
-i
-e
"s@{{kube_cache_mutation_detector_env_name}}@
${
kube_cache_mutation_detector_env_name
}
@g"
${
src_file
}
sed
-i
-e
"s@{{kube_cache_mutation_detector_env_value}}@
${
kube_cache_mutation_detector_env_value
}
@g"
${
src_file
}
sed
-i
-e
"s@{{ cpurequest }}@100m@g"
${
src_file
}
sed
-i
-e
"s@{{ cpurequest }}@100m@g"
${
src_file
}
sed
-i
-e
"s@{{api_servers_with_port}}@
${
api_servers
}
@g"
${
src_file
}
sed
-i
-e
"s@{{api_servers_with_port}}@
${
api_servers
}
@g"
${
src_file
}
if
[[
-n
"
${
CLUSTER_IP_RANGE
:-}
"
]]
;
then
if
[[
-n
"
${
CLUSTER_IP_RANGE
:-}
"
]]
;
then
...
@@ -713,6 +752,14 @@ function start-kube-proxy {
...
@@ -713,6 +752,14 @@ function start-kube-proxy {
mount -o remount,rw /sys; "
mount -o remount,rw /sys; "
sed
-i
-e
"s@-
\\
s
\\
+kube-proxy@-
${
extra_workaround_cmd
}
kube-proxy@g"
"
${
src_file
}
"
sed
-i
-e
"s@-
\\
s
\\
+kube-proxy@-
${
extra_workaround_cmd
}
kube-proxy@g"
"
${
src_file
}
"
fi
fi
}
# Starts kube-proxy static pod.
function
start-kube-proxy
{
echo
"Start kube-proxy static pod"
prepare-log-file /var/log/kube-proxy.log
local
-r
src_file
=
"
${
KUBE_HOME
}
/kube-manifests/kubernetes/kube-proxy.manifest"
prepare-kube-proxy-manifest-variables
"
$src_file
"
cp
"
${
src_file
}
"
/etc/kubernetes/manifests
cp
"
${
src_file
}
"
/etc/kubernetes/manifests
}
}
...
@@ -1217,6 +1264,10 @@ function start-kube-addons {
...
@@ -1217,6 +1264,10 @@ function start-kube-addons {
setup-addon-manifests
"addons"
"rbac"
setup-addon-manifests
"addons"
"rbac"
# Set up manifests of other addons.
# Set up manifests of other addons.
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
==
"true"
]]
;
then
prepare-kube-proxy-manifest-variables
"
$src_dir
/kube-proxy/kube-proxy-ds.yaml"
setup-addon-manifests
"addons"
"kube-proxy"
fi
if
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"influxdb"
]]
||
\
if
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"influxdb"
]]
||
\
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"google"
]]
||
\
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"google"
]]
||
\
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"stackdriver"
]]
||
\
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"stackdriver"
]]
||
\
...
@@ -1464,7 +1515,11 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
...
@@ -1464,7 +1515,11 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
create-master-etcd-auth
create-master-etcd-auth
else
else
create-kubelet-kubeconfig
"https://
${
KUBERNETES_MASTER_NAME
}
"
create-kubelet-kubeconfig
"https://
${
KUBERNETES_MASTER_NAME
}
"
create-kubeproxy-kubeconfig
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
!=
"true"
]]
;
then
create-kubeproxy-user-kubeconfig
else
create-kubeproxy-serviceaccount-kubeconfig
fi
fi
fi
if
[[
"
${
CONTAINER_RUNTIME
:-}
"
==
"rkt"
]]
;
then
if
[[
"
${
CONTAINER_RUNTIME
:-}
"
==
"rkt"
]]
;
then
...
@@ -1492,7 +1547,9 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
...
@@ -1492,7 +1547,9 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
start-lb-controller
start-lb-controller
start-rescheduler
start-rescheduler
else
else
start-kube-proxy
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
!=
"true"
]]
;
then
start-kube-proxy
fi
# Kube-registry-proxy.
# Kube-registry-proxy.
if
[[
"
${
ENABLE_CLUSTER_REGISTRY
:-}
"
==
"true"
]]
;
then
if
[[
"
${
ENABLE_CLUSTER_REGISTRY
:-}
"
==
"true"
]]
;
then
start-kube-registry-proxy
start-kube-registry-proxy
...
...
cluster/gce/gci/configure-helper.sh
View file @
6d35b94f
...
@@ -80,7 +80,6 @@ function get-calico-typha-cpu {
...
@@ -80,7 +80,6 @@ function get-calico-typha-cpu {
echo
"
${
typha_cpu
}
"
echo
"
${
typha_cpu
}
"
}
}
function
config-ip-firewall
{
function
config-ip-firewall
{
echo
"Configuring IP firewall rules"
echo
"Configuring IP firewall rules"
# The GCI image has host firewall which drop most inbound/forwarded packets.
# The GCI image has host firewall which drop most inbound/forwarded packets.
...
@@ -675,8 +674,8 @@ function create-master-kubelet-auth {
...
@@ -675,8 +674,8 @@ function create-master-kubelet-auth {
fi
fi
}
}
function
create-kubeproxy-kubeconfig
{
function
create-kubeproxy-
user-
kubeconfig
{
echo
"Creating kube-proxy kubeconfig file"
echo
"Creating kube-proxy
user
kubeconfig file"
cat
<<
EOF
>/var/lib/kube-proxy/kubeconfig
cat
<<
EOF
>/var/lib/kube-proxy/kubeconfig
apiVersion: v1
apiVersion: v1
kind: Config
kind: Config
...
@@ -697,6 +696,30 @@ current-context: service-account-context
...
@@ -697,6 +696,30 @@ current-context: service-account-context
EOF
EOF
}
}
function
create-kubeproxy-serviceaccount-kubeconfig
{
echo
"Creating kube-proxy serviceaccount kubeconfig file"
cat
<<
EOF
>/var/lib/kube-proxy/kubeconfig
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
server: https://
${
KUBERNETES_MASTER_NAME
}
name: default
contexts:
- context:
cluster: default
namespace: default
user: default
name: default
current-context: default
users:
- name: default
user:
tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
EOF
}
function
create-kubecontrollermanager-kubeconfig
{
function
create-kubecontrollermanager-kubeconfig
{
echo
"Creating kube-controller-manager kubeconfig file"
echo
"Creating kube-controller-manager kubeconfig file"
mkdir
-p
/etc/srv/kubernetes/kube-controller-manager
mkdir
-p
/etc/srv/kubernetes/kube-controller-manager
...
@@ -921,8 +944,17 @@ function start-kubelet {
...
@@ -921,8 +944,17 @@ function start-kubelet {
if
[[
-n
"
${
ENABLE_CUSTOM_METRICS
:-}
"
]]
;
then
if
[[
-n
"
${
ENABLE_CUSTOM_METRICS
:-}
"
]]
;
then
flags+
=
" --enable-custom-metrics=
${
ENABLE_CUSTOM_METRICS
}
"
flags+
=
" --enable-custom-metrics=
${
ENABLE_CUSTOM_METRICS
}
"
fi
fi
local
node_labels
=
""
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
==
"true"
&&
"
${
KUBERNETES_MASTER
:-}
"
!=
"true"
]]
;
then
# Add kube-proxy daemonset label to node to avoid situation during cluster
# upgrade/downgrade when there are two instances of kube-proxy running on a node.
node_labels
=
"beta.kubernetes.io/kube-proxy-ds-ready=true"
fi
if
[[
-n
"
${
NODE_LABELS
:-}
"
]]
;
then
if
[[
-n
"
${
NODE_LABELS
:-}
"
]]
;
then
flags+
=
" --node-labels=
${
NODE_LABELS
}
"
node_labels
=
"
${
node_labels
:+
${
node_labels
}
,
}${
NODE_LABELS
}
"
fi
if
[[
-n
"
${
node_labels
:-}
"
]]
;
then
flags+
=
" --node-labels=
${
node_labels
}
"
fi
fi
if
[[
-n
"
${
NODE_TAINTS
:-}
"
]]
;
then
if
[[
-n
"
${
NODE_TAINTS
:-}
"
]]
;
then
flags+
=
" --register-with-taints=
${
NODE_TAINTS
}
"
flags+
=
" --register-with-taints=
${
NODE_TAINTS
}
"
...
@@ -1003,11 +1035,11 @@ function prepare-log-file {
...
@@ -1003,11 +1035,11 @@ function prepare-log-file {
chown
root:root
$1
chown
root:root
$1
}
}
#
Starts kube-proxy pod
.
#
Prepares parameters for kube-proxy manifest
.
function
start-kube-proxy
{
# $1 source path of kube-proxy manifest.
echo
"Start kube-proxy pod"
function
prepare-kube-proxy-manifest-variables
{
prepare-log-file /var/log/kube-proxy.log
local
-r
src_file
=
$1
;
local
-r
src_file
=
"
${
KUBE_HOME
}
/kube-manifests/kubernetes/kube-proxy.manifest"
remove-salt-config-comments
"
${
src_file
}
"
remove-salt-config-comments
"
${
src_file
}
"
local
-r
kubeconfig
=
"--kubeconfig=/var/lib/kube-proxy/kubeconfig"
local
-r
kubeconfig
=
"--kubeconfig=/var/lib/kube-proxy/kubeconfig"
...
@@ -1026,19 +1058,34 @@ function start-kube-proxy {
...
@@ -1026,19 +1058,34 @@ function start-kube-proxy {
params+
=
"
${
KUBEPROXY_TEST_ARGS
}
"
params+
=
"
${
KUBEPROXY_TEST_ARGS
}
"
fi
fi
local
container_env
=
""
local
container_env
=
""
local
kube_cache_mutation_detector_env_name
=
""
local
kube_cache_mutation_detector_env_value
=
""
if
[[
-n
"
${
ENABLE_CACHE_MUTATION_DETECTOR
:-}
"
]]
;
then
if
[[
-n
"
${
ENABLE_CACHE_MUTATION_DETECTOR
:-}
"
]]
;
then
container_env
=
"env:
\n
- name: KUBE_CACHE_MUTATION_DETECTOR
\n
value:
\"
${
ENABLE_CACHE_MUTATION_DETECTOR
}
\"
"
container_env
=
"env:"
kube_cache_mutation_detector_env_name
=
"- name: KUBE_CACHE_MUTATION_DETECTOR"
kube_cache_mutation_detector_env_value
=
"value:
\"
${
ENABLE_CACHE_MUTATION_DETECTOR
}
\"
"
fi
fi
sed
-i
-e
"s@{{kubeconfig}}@
${
kubeconfig
}
@g"
${
src_file
}
sed
-i
-e
"s@{{kubeconfig}}@
${
kubeconfig
}
@g"
${
src_file
}
sed
-i
-e
"s@{{pillar
\[
'kube_docker_registry'
\]
}}@
${
kube_docker_registry
}
@g"
${
src_file
}
sed
-i
-e
"s@{{pillar
\[
'kube_docker_registry'
\]
}}@
${
kube_docker_registry
}
@g"
${
src_file
}
sed
-i
-e
"s@{{pillar
\[
'kube-proxy_docker_tag'
\]
}}@
${
kube_proxy_docker_tag
}
@g"
${
src_file
}
sed
-i
-e
"s@{{pillar
\[
'kube-proxy_docker_tag'
\]
}}@
${
kube_proxy_docker_tag
}
@g"
${
src_file
}
sed
-i
-e
"s@{{params}}@
${
params
}
@g"
${
src_file
}
sed
-i
-e
"s@{{params}}@
${
params
}
@g"
${
src_file
}
sed
-i
-e
"s@{{container_env}}@
${
container_env
}
@g"
${
src_file
}
sed
-i
-e
"s@{{container_env}}@
${
container_env
}
@g"
${
src_file
}
sed
-i
-e
"s@{{kube_cache_mutation_detector_env_name}}@
${
kube_cache_mutation_detector_env_name
}
@g"
${
src_file
}
sed
-i
-e
"s@{{kube_cache_mutation_detector_env_value}}@
${
kube_cache_mutation_detector_env_value
}
@g"
${
src_file
}
sed
-i
-e
"s@{{ cpurequest }}@100m@g"
${
src_file
}
sed
-i
-e
"s@{{ cpurequest }}@100m@g"
${
src_file
}
sed
-i
-e
"s@{{api_servers_with_port}}@
${
api_servers
}
@g"
${
src_file
}
sed
-i
-e
"s@{{api_servers_with_port}}@
${
api_servers
}
@g"
${
src_file
}
if
[[
-n
"
${
CLUSTER_IP_RANGE
:-}
"
]]
;
then
if
[[
-n
"
${
CLUSTER_IP_RANGE
:-}
"
]]
;
then
sed
-i
-e
"s@{{cluster_cidr}}@--cluster-cidr=
${
CLUSTER_IP_RANGE
}
@g"
${
src_file
}
sed
-i
-e
"s@{{cluster_cidr}}@--cluster-cidr=
${
CLUSTER_IP_RANGE
}
@g"
${
src_file
}
fi
fi
}
# Starts kube-proxy static pod.
function
start-kube-proxy
{
echo
"Start kube-proxy static pod"
prepare-log-file /var/log/kube-proxy.log
local
-r
src_file
=
"
${
KUBE_HOME
}
/kube-manifests/kubernetes/kube-proxy.manifest"
prepare-kube-proxy-manifest-variables
"
${
src_file
}
"
cp
"
${
src_file
}
"
/etc/kubernetes/manifests
cp
"
${
src_file
}
"
/etc/kubernetes/manifests
}
}
...
@@ -1641,6 +1688,10 @@ function start-kube-addons {
...
@@ -1641,6 +1688,10 @@ function start-kube-addons {
setup-addon-manifests
"addons"
"rbac"
setup-addon-manifests
"addons"
"rbac"
# Set up manifests of other addons.
# Set up manifests of other addons.
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
==
"true"
]]
;
then
prepare-kube-proxy-manifest-variables
"
$src_dir
/kube-proxy/kube-proxy-ds.yaml"
setup-addon-manifests
"addons"
"kube-proxy"
fi
if
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"influxdb"
]]
||
\
if
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"influxdb"
]]
||
\
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"google"
]]
||
\
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"google"
]]
||
\
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"stackdriver"
]]
||
\
[[
"
${
ENABLE_CLUSTER_MONITORING
:-}
"
==
"stackdriver"
]]
||
\
...
@@ -1889,7 +1940,11 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
...
@@ -1889,7 +1940,11 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
else
else
create-node-pki
create-node-pki
create-kubelet-kubeconfig
${
KUBERNETES_MASTER_NAME
}
create-kubelet-kubeconfig
${
KUBERNETES_MASTER_NAME
}
create-kubeproxy-kubeconfig
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
!=
"true"
]]
;
then
create-kubeproxy-user-kubeconfig
else
create-kubeproxy-serviceaccount-kubeconfig
fi
if
[[
"
${
ENABLE_NODE_PROBLEM_DETECTOR
:-}
"
==
"standalone"
]]
;
then
if
[[
"
${
ENABLE_NODE_PROBLEM_DETECTOR
:-}
"
==
"standalone"
]]
;
then
create-node-problem-detector-kubeconfig
create-node-problem-detector-kubeconfig
fi
fi
...
@@ -1912,7 +1967,9 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
...
@@ -1912,7 +1967,9 @@ if [[ "${KUBERNETES_MASTER:-}" == "true" ]]; then
start-lb-controller
start-lb-controller
start-rescheduler
start-rescheduler
else
else
start-kube-proxy
if
[[
"
${
KUBE_PROXY_DAEMONSET
:-}
"
!=
"true"
]]
;
then
start-kube-proxy
fi
# Kube-registry-proxy.
# Kube-registry-proxy.
if
[[
"
${
ENABLE_CLUSTER_REGISTRY
:-}
"
==
"true"
]]
;
then
if
[[
"
${
ENABLE_CLUSTER_REGISTRY
:-}
"
==
"true"
]]
;
then
start-kube-registry-proxy
start-kube-registry-proxy
...
...
cluster/saltbase/salt/kube-proxy/init.sls
View file @
6d35b94f
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
- makedirs: true
- makedirs: true
# kube-proxy in a static pod
# kube-proxy in a static pod
{% if pillar.get('kube_proxy_daemonset', '').lower() != 'true' %}
/etc/kubernetes/manifests/kube-proxy.manifest:
/etc/kubernetes/manifests/kube-proxy.manifest:
file.managed:
file.managed:
- source: salt://kube-proxy/kube-proxy.manifest
- source: salt://kube-proxy/kube-proxy.manifest
...
@@ -24,6 +25,7 @@
...
@@ -24,6 +25,7 @@
- require:
- require:
- service: docker
- service: docker
- service: kubelet
- service: kubelet
{% endif %}
/var/log/kube-proxy.log:
/var/log/kube-proxy.log:
file.managed:
file.managed:
...
...
cluster/saltbase/salt/kube-proxy/kube-proxy.manifest
View file @
6d35b94f
...
@@ -38,6 +38,8 @@
...
@@ -38,6 +38,8 @@
{% set params = log_level + " " + throttles + " " + feature_gates + " " + test_args -%}
{% set params = log_level + " " + throttles + " " + feature_gates + " " + test_args -%}
{% set container_env = "" -%}
{% set container_env = "" -%}
{% set kube_cache_mutation_detector_env_name = "" -%}
{% set kube_cache_mutation_detector_env_value = "" -%}
# kube-proxy podspec
# kube-proxy podspec
apiVersion: v1
apiVersion: v1
...
@@ -78,6 +80,8 @@ spec:
...
@@ -78,6 +80,8 @@ spec:
- -c
- -c
- echo -998 > /proc/$$$/oom_score_adj && kube-proxy {{api_servers_with_port}} {{kubeconfig}} {{cluster_cidr}} --resource-container="" {{params}} 1>>/var/log/kube-proxy.log 2>&1
- echo -998 > /proc/$$$/oom_score_adj && kube-proxy {{api_servers_with_port}} {{kubeconfig}} {{cluster_cidr}} --resource-container="" {{params}} 1>>/var/log/kube-proxy.log 2>&1
{{container_env}}
{{container_env}}
{{kube_cache_mutation_detector_env_name}}
{{kube_cache_mutation_detector_env_value}}
securityContext:
securityContext:
privileged: true
privileged: true
volumeMounts:
volumeMounts:
...
...
cluster/saltbase/salt/kubelet/default
View file @
6d35b94f
...
@@ -164,10 +164,16 @@
...
@@ -164,10 +164,16 @@
{% set enable_custom_metrics="--enable-custom-metrics=" + pillar['enable_custom_metrics'] %}
{% set enable_custom_metrics="--enable-custom-metrics=" + pillar['enable_custom_metrics'] %}
{% endif -%}
{% endif -%}
{% set node_labels = "" %}
{% set kube_proxy_ds_label = "" %}
{% if pillar['node_labels'] is defined -%}
{% if grains['roles'][0] != 'kubernetes-master' and pillar.get('kube_proxy_daemonset', '').lower() == 'true' %}
{% set node_labels="--node-labels=" + pillar['node_labels'] %}
# Add kube-proxy daemonset label to node to avoid situation during cluster
{% endif -%}
# upgrade/downgrade when there are two instances of kube-proxy running on a node.
{% 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 node_labels != "" %}
{% set node_labels="--node-labels=" + node_labels %}
{% endif %}
{% set node_taints = "" %}
{% set node_taints = "" %}
{% if pillar['node_taints'] is defined -%}
{% if pillar['node_taints'] is defined -%}
...
...
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