有没有办法在GKE中配置kube-proxy?
我可以看到从守护进程创建的pod,但我看不到守护进程本身。
谢谢你的帮助。
发布于 2018-06-29 06:28:33
在节点级别,系统由Kubernetes K8s管理,而在主级别,系统是managed by GKE。master operates并运行Kubernetes API服务器、核心资源控制器和调度器。
即使kube-proxy驻留在节点内,集群也会负责kube-proxy,请记住,在GKE中,集群主机是不可访问的。
虽然可以使用configure the proxy in Kubernetes k8s,但在GKE中不能这样做。
对于守护进程,请确保您正在查看所有名称空间。
$ kubectl get ds --all-namespaces发布于 2021-03-29 23:56:20
k8s (不仅仅是GKE)中的kube-proxy pod被创建为Static Pod。
Kubelet自动在Kubernetes API服务器上为每个静态pod创建所谓的镜像pod,因此pod在那里是可见的,但它们不能从API服务器控制。2
这就是为什么你不能像普通的API对象一样编辑和配置它。
但是,您可以在节点上编辑kube-proxy清单,并且kubelet将应用新配置。位于中每个节点上的静态pod清单
/etc/kubernetes/manifests//etc/kubernetes/manifests/kube-proxy.manifest
您可以使用ssh进入node并手动更改它,但我们可以使用cilium方法通过DaemonSet自动删除kube-proxy3,并对其进行一点4修改。
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: kube-proxy-configurator
namespace: kube-system
spec:
selector:
matchLabels:
name: kube-proxy-configurator
template:
metadata:
labels:
name: kube-proxy-configurator
spec:
initContainers:
- command:
- /bin/sh
- -c
- |
echo 'Changing kube-proxy iptables-min-sync-period'
sed -i 's/iptables-min-sync-period=10s/iptables-min-sync-period=2s/g' /etc/kubernetes/manifests/kube-proxy.manifest
echo 'All Done!'
image: alpine:latest
name: kube-proxy-configurator
securityContext:
privileged: true
volumeMounts:
- mountPath: /etc/kubernetes
name: kubernetes-configs
containers:
- image: k8s.gcr.io/pause
name: pause
terminationGracePeriodSeconds: 0
volumes:
- hostPath:
path: /etc/kubernetes
type: Directory
name: kubernetes-configs只需应用它,kube-proxy配置将在每个节点上更改(即使是在autoscaler新创建的节点上)。
kubectl apply -f kube-proxy-configurator.ymlhttps://stackoverflow.com/questions/50965801
复制相似问题