【发布时间】:2017-04-21 22:37:53
【问题描述】:
我的集群(具有多个 master、etcd 和节点的 HA)正在运行,但我发现我的 kube-proxy 运行不正确。我目前必须在 kubelet 上使用 --hostname-override (设置为机器 IP),因为我通过 ansible 在每台机器(主节点和节点)上部署了一个,所以效果很好。
我目前正在守护进程中使用 kube-proxy(包括在下面)。 kube-proxy 中有一个 --hostname-override 选项,但我不知道如何在 deamonset 中设置它。有人有什么建议吗?我猜这可能是不可能的,但我想我会问。
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
【问题讨论】:
-
我认为目前不可能。我快速浏览了proxy/iptables/proxier.go 和proxy/userspace/proxier.go,似乎很容易实现它。
标签: kubernetes