Skip to content
kube-proxy.manifest.j2 2.23 KiB
Newer Older
apiVersion: v1
kind: Pod
metadata:
  name: kube-proxy
  namespace: {{system_namespace}}
  labels:
    k8s-app: kube-proxy
  annotations:
    kubespray.kube-proxy-cert/serial: "{{ kube_proxy_cert_serial }}"
{% if kube_version | version_compare('v1.6', '>=') %}
  dnsPolicy: ClusterFirst
{% endif %}
    image: {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }}
    imagePullPolicy: {{ k8s_image_pull_policy }}
    resources:
      limits:
        cpu: {{ kube_proxy_cpu_limit }}
        memory: {{ kube_proxy_memory_limit }}
      requests:
        cpu: {{ kube_proxy_cpu_requests }}
        memory: {{ kube_proxy_memory_requests }}
    - --v={{ kube_log_level }}
jwfang's avatar
jwfang committed
    - --kubeconfig={{kube_config_dir}}/kube-proxy-kubeconfig.yaml
    - --bind-address={{ ip | default(ansible_default_ipv4.address) }}
    - --cluster-cidr={{ kube_pods_subnet }}
    - --proxy-mode={{ kube_proxy_mode }}
{% if kube_proxy_masquerade_all and kube_proxy_mode == "iptables" %}
    - --masquerade-all
{% elif kube_proxy_mode == 'ipvs' %}
    - --masquerade-all
    - --feature-gates=SupportIPVSProxyMode=true
    - --proxy-mode=ipvs
    - --ipvs-min-sync-period=5s
    - --ipvs-sync-period=5s
    - --ipvs-scheduler=rr
    securityContext:
      privileged: true
    volumeMounts:
    - mountPath: /etc/ssl/certs
      name: ssl-certs-host
      readOnly: true
jwfang's avatar
jwfang committed
    - mountPath: "{{ kube_config_dir }}/ssl"
      name: etc-kube-ssl
jwfang's avatar
jwfang committed
    - mountPath: "{{ kube_config_dir }}/kube-proxy-kubeconfig.yaml"
      name: kubeconfig
    - mountPath: /var/run/dbus
jwfang's avatar
jwfang committed
      name: var-run-dbus
      readOnly: false
    - mountPath: /lib/modules
      name: lib-modules
      readOnly: true
Vijay Katam's avatar
Vijay Katam committed
{% if ansible_os_family == 'RedHat' %}
      path: /etc/pki/tls
{% else %}
Vijay Katam's avatar
Vijay Katam committed
{% endif %}
jwfang's avatar
jwfang committed
  - name: etc-kube-ssl
jwfang's avatar
jwfang committed
      path: "{{ kube_config_dir }}/ssl"
  - name: kubeconfig
jwfang's avatar
jwfang committed
      path: "{{ kube_config_dir }}/kube-proxy-kubeconfig.yaml"
  - name: var-run-dbus
jwfang's avatar
jwfang committed
      path: /var/run/dbus
  - hostPath:
      path: /lib/modules
    name: lib-modules