nix*_*ind 6 kubernetes kube-proxy
我想设置 k8skube-proxy配置文件权限以进行强化。
我正在描述如何在将标志设置为无法找到的路径 ( ) 的kube-proxy情况下运行进程......--configvar/lib/kube-proxy/config.conf
事实上检查kube-proxy过程给出了这个:
[centos@cpu-node0 ~]$ ps -ef | grep kube-proxy
root 20890 20872 0 Oct20 ? 00:19:23 /usr/local/bin/kube-proxy --config=/var/lib/kube-proxy/config.conf --hostname-override=cpu-node0
centos 55623 51112 0 14:44 pts/0 00:00:00 grep --color=auto kube-proxy
Run Code Online (Sandbox Code Playgroud)
但该文件/var/lib/kube-proxy/config.conf不存在:
[centos@cpu-node0 ~]$ ll /var/lib/kube-proxy/config.conf
ls: cannot access /var/lib/kube-proxy/config.conf: No such file or directory
Run Code Online (Sandbox Code Playgroud)
为什么?
我的设置也面临问题(1.19)
[root@project1kubemaster ~]# kubectl version --short
Client Version: v1.19.3
Server Version: v1.19.3
[root@project1kubemaster ~]# ps -ef | grep kube-proxy
root 2103 2046 0 11:30 ? 00:00:00 /usr/local/bin/kube-proxy --config=/var/lib/kube-proxy/config.conf --hostname-override=project1kubemaster
[root@project1kubemaster ~]# ll /var/lib/kube-proxy/config.conf
ls: cannot access /var/lib/kube-proxy/config.conf: No such file or directory
Run Code Online (Sandbox Code Playgroud)
更有趣的一件事是也没有找到“kube-proxy”:
[root@project1kubemaster ~]# ls /usr/local/bin/kube-proxy
ls: cannot access /usr/local/bin/kube-proxy: No such file or directory
Run Code Online (Sandbox Code Playgroud)
上面让我意识到 kube-proxy 二进制文件正在该节点的 kubeproxy 容器内运行
[root@project1kubemaster ~]# kubectl get pods -n kube-system -o wide | grep proxy
kube-proxy-ffbqr 1/1 Running 0 27m <IP> project1kubeworker2 <none> <none>
kube-proxy-r9pz9 1/1 Running 0 29m <IP> project1kubemaster <none> <none>
kube-proxy-zcrtw 1/1 Running 0 27m <IP> project1kubeworker1 <none> <none>
[root@project1kubemaster ~]# kubectl exec -it kube-proxy-r9pz9 -n kube-system -- /bin/sh
#
#
# find / -name config.conf
/var/lib/kube-proxy/..2020_11_02_16_30_32.787002112/config.conf
/var/lib/kube-proxy/config.conf
Run Code Online (Sandbox Code Playgroud)
简而言之,kube-proxy 二进制文件和配置文件似乎位于该节点的 kube-proxy pod 内,并且它们在该 pod 内运行。它可能显示主机的 ps -ef 输出的原因之一可能是由于该 pod 正在使用主机的 Pid 名称空间。我们还可以看到 kube-proxy 进程的父 pid 只不过是相应容器的 containerd 。
[root@project1kubemaster ~]# ps -ef | grep 2046
root 2046 16904 0 11:30 ? 00:00:00 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/c3e9bf6ecdcdd0f56d0c76711cea4cadd023cd6ef82bf8312311248a7b0501a4 -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
root 2103 2046 0 11:30 ? 00:00:00 /usr/local/bin/kube-proxy --config=/var/lib/kube-proxy/config.conf --hostname-override=project1kubemaster
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4368 次 |
| 最近记录: |