1.将 改变基因 etcd
etcd存储每个 对象的信息 ,
我们可以通过 edit 直接修改 它们所对应的元信息
1.edit
kubectl edit deployment myapp
打开一个类似 vim 编辑器 在里面可以直接修改
如果修改检测不通过 ,会打回让你重新修改配置
如果再保存 ,就直接退出 不保存,但是保存了你更新的文件到临时目录下,让你查看去了
wq保存退出
可以看已经更新到2.0了
2.修改kube-proxy模式
编辑configmap对象 kube-proxy 名称空间 在 kube-system
kubectl edit configmap kube-proxy -n kube-system
找到模式这一行 mode 发现是空的 默认值为 iptables
把这个值改成 ipvs 保存退出即可
那这样的话我们就修改了当前的kubeproxy配置参数的工作方案为ipvs
那再接下来我们去
kubectl get pod -n kube-system --show-labels
可以看到 kube-proxy被加了 k8s-app=kube-proxy 的标签
我们可以筛选出来
kubectl get pod -n kube-system -l k8s-app=kube-proxy
我们应用文件发生改变了,但应用程序没有重载不能生效 所以我们将pod杀死 让他们重建 那这样的话是不是就应用于我们当前的工作方式为ipvs模式
kubectl delete pod -n kube-system -l k8s-app=kube-proxy
kube-proxy已经被重新启动起来了
ipvsadm -Ln
就有ipvs规则了
当你访问 service ip 的时候 相当于访问的是当前你的 ipvs 集群 被负载到了后端的真实服务器
这就是我们第三版的kubeproxy的原理