如何将更改推送到 Kubernetes Kube-proxy?

How to push changes to Kubernestes Kube-proxy?

我是 Kubernetes 开发的新手,我的任务是更改 Kuberenetes 服务中的一些功能。

我有 Kubernetes local cluster,还有一个由 4 个 RPI 组成的测试平台,我的第一个更改是在 Kubectl 上完成的,我所做的是在我的机器上交叉编译二进制文件然后替换在 RPI 中找到的旧二进制文件(因为在 RPI 中编译代码非常耗时)。

现在,我已经到了必须更新 Kube-proxy 的一些更改的地步,在本地集群中,二进制文件在 _output/bin 中,但是在真实集群中,Kube-proxy 运行 在容器中(对于每个节点),因此更改二进制文件需要创建新的 Docker 图像并强制 Kubernetes 选择这些图像而不是默认图像(据我所知)。

所以我的问题:

  1. Kube-proxy 上的更改推送到 运行 集群的 best/easiest 方法是什么?

  2. 如果我在 RPI 中编译代码,make 将释放 Kube-proxy 的二进制文件,但是集群将如何进行这些更改?

集群规范:

  1. Kubernetes v1.9.

  2. OS hypriotos-v7+.

  3. 架构 arm 32 位

所有节点都应该运行 kube-proxy。 (运行 不严格要求“主”节点上的 kube-proxy,但保持一致更容易。)按照 kubelet 的描述获取二进制文件。

要考虑的参数:

如果遵循 HTTPS 安全方法:

--master=https://$MASTER_IP
--kubeconfig=/var/lib/kube-proxy/kubeconfig

否则,如果采用基于防火墙的安全方法

--master=http://$MASTER_IP

注意,在某些Linux平台上,您可能需要手动安装kube-proxy依赖的conntrack包,否则kube-proxy无法启动成功。

更多关于调试kube-proxy问题,请参考Debug Services

来源:https://kubernetes.io/docs/getting-started-guides/scratch/#kube-proxy