2017-04-18 3 views
0

Ich habe meinen Cluster (HA mit mehreren Master, etcd und Knoten) ausgeführt, aber ich habe festgestellt, dass mein Kube-Proxy nicht korrekt ausgeführt wird. Ich muss zur Zeit --hostname-override (eingestellt, um IP zu bearbeiten) auf kubelet, die gut funktioniert, da ich eine auf jedem Rechner (Master und Knoten) über ansible bereitstellen.Können Sie --hostname-override mit Kube-Proxy in einem Daemonset verwenden?

Ich verwende derzeit Kube-Proxy in einem Daemonset (unten enthalten). Es gibt eine Option für --hostname-override in Kube-Proxy, aber ich habe keine Ahnung, wie Sie dies in einem Deamonset setzen würden. Hat jemand irgendwelche Vorschläge? Ich denke, das ist wahrscheinlich nicht möglich, aber ich dachte, ich würde fragen.

apiVersion: extensions/v1beta1 
kind: DaemonSet 
metadata: 
    labels: 
    component: kube-proxy-amd64 
    k8s-app: kube-proxy-amd64 
    kubernetes.io/cluster-service: "true" 
    name: kube-proxy-amd64 
    tier: node 
    name: kube-proxy-amd64 
    namespace: kube-system 
spec: 
    selector: 
    matchLabels: 
     component: kube-proxy-amd64 
     k8s-app: kube-proxy-amd64 
     kubernetes.io/cluster-service: "true" 
     name: kube-proxy-amd64 
     tier: node 
    template: 
    metadata: 
     annotations: 
     scheduler.alpha.kubernetes.io/tolerations: '[{"key":"dedicated","value":"master","effect":"NoSchedule"}]' 
     labels: 
     component: kube-proxy-amd64 
     k8s-app: kube-proxy-amd64 
     kubernetes.io/cluster-service: "true" 
     name: kube-proxy-amd64 
     tier: node 
    spec: 
     containers: 
     - command: 
     - /usr/local/bin/kube-proxy 
     - --v=0 
     - --master={{ api_lb_ip }} 
     - --kubeconfig=/run/kubeadminconfig 
     image: {{ kube_proxy_image }} 
     imagePullPolicy: IfNotPresent 
     name: kube-proxy 
     securityContext: 
      privileged: true 
     terminationMessagePath: /dev/termination-log 
     volumeMounts: 
     - mountPath: /var/run/dbus 
      name: dbus 
     - mountPath: /run/kubeadminconfig 
      name: kubeconfig 
     - mountPath: {{ kube_config_dir }} 
      name: pki 
     dnsPolicy: ClusterFirst 
     hostNetwork: true 
     nodeSelector: 
     beta.kubernetes.io/arch: amd64 
     restartPolicy: Always 
     volumes: 
     - hostPath: 
      path: {{ kubeadminconfig }} 
     name: kubeconfig 
     - hostPath: 
      path: /var/run/dbus 
     name: dbus 
     - hostPath: 
      path: {{ kube_config_dir }} 
     name: pki 
+0

Ich glaube nicht, dass das im Moment möglich ist. Ich habe mich kurz mit [proxy/iptables/proxier.go] (https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/iptables/proxier.go) und [proxy/usspace/proxier] befasst. gehe] (https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/userspace/proxier.go) und es scheint einfach genug, um es zu implementieren. –

Antwort

0

Zu diesem Zeitpunkt scheint es keine Möglichkeit zu geben, es mit einem Deamonset zu setzen. Am Ende habe ich es nur für jeden Knoten eingestellt und benutze das Verzeichnis manifests, um es zu deployen.

+0

Ich habe das gleiche Problem. Könnten Sie bitte teilen, wie verwenden Sie es nur für jeden Knoten und verwenden Sie das Verzeichnis manifests, um es zu implementieren? Gibt es ein Dokument dafür? Vielen Dank. –

Verwandte Themen