从this的文章中,我可以指定'userspace‘作为我的代理模式,但我无法理解我需要在什么阶段使用什么命令?比如在创建部署或服务之后?我目前正在运行minikube集群。
发布于 2019-08-09 09:36:04
kube-proxy是一个运行在manage network connections coming into and out of kubernetes的每个kubernetes节点上的进程。
您不会直接运行该命令,但是您的部署方法(通常是kubeadm)会配置运行该命令的选项。
正如@Hang Du提到的,在minikube中,您可以通过编辑kube-proxy配置映射并将mode更改为userspace来修改其选项
kubectl -n kube-system edit configmap kube-proxy然后删除Pod。
kubectl -n kube-system get pod
kubectl -n kube-system delete pod kube-proxy-XXXXX发布于 2019-08-09 11:50:48
如果您使用的是minikube,您可以找到一个名为kube-proxy的DaemonSet,如下所示:
$ kubectl get ds -n kube-system kube-proxy -o yaml
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
...
labels:
k8s-app: kube-proxy
name: kube-proxy
namespace: kube-system
...
spec:
...
spec:
containers:
- command:
- /usr/local/bin/kube-proxy
- --config=/var/lib/kube-proxy/config.conf
- --hostname-override=$(NODE_NAME)
env:
- name: NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
image: k8s.gcr.io/kube-proxy:v1.15.0
imagePullPolicy: IfNotPresent
name: kube-proxy
...
volumeMounts:
- mountPath: /var/lib/kube-proxy
name: kube-proxy
- mountPath: /run/xtables.lock
name: xtables-lock
- mountPath: /lib/modules
name: lib-modules
readOnly: true
dnsPolicy: ClusterFirst
...
volumes:
- configMap:
defaultMode: 420
name: kube-proxy
name: kube-proxy
- hostPath:
path: /run/xtables.lock
type: FileOrCreate
name: xtables-lock
- hostPath:
path: /lib/modules
type: ""
name: lib-modules
...看看.spec.template.spec.containers[].command,容器运行kube-proxy命令。您可以在命令数组中提供标志--proxy-mode=userspace。
- command:
- /usr/local/bin/kube-proxy
- --config=/var/lib/kube-proxy/config.conf
- --hostname-override=$(NODE_NAME)
- --proxy-mode=userspacehttps://stackoverflow.com/questions/57421547
复制相似问题