kube-router 实战

kube-router 实战 官网 kube-router官方文档 中文版文档 介绍 kube-router - 使用iptables实现网络策略限制。 –run-router参数,可透传源IP。 - 通过bgp实现路由策略。 –run-firewall 参数 - 通过lvs实现代理策略。 –run-service-proxy –run-firewall, –run-router, –run-service-proxy可以有选择地只启用kube-router所需的功能 只提供入口防火墙:–run-firewall=true –run-service-proxy=false –run-router=false 仅仅替换kube-proxy: –run-service-proxy=true –run-firewall=false –run-router=false 网络功能介绍 代理功能介绍 网络策功能略介绍 Kube-router:在裸机上Kubernetes集群的高可用和可扩展性 查看CIDR划分 kubectl get nodes -o json | jq '.items[] | .spec' 安装kube-router 依赖 已有k8s集群 kube-router 能够连接apiserver controller-manager必要配置参数 –allocate-node-cidrs=true –cluster-cidr=10.254.0.0/16,示例: /usr/local/bin/kube-controller-manager --logtostderr=true --v=0 --master=http://127.0.0.1:8080 --address=127.0.0.1 --allocate-node-cidrs=true --cluster-cidr=10.254.0.0/16 --node-cidr-mask-size=24 --cluster-name=kubernetes --use-service-account-credentials --cluster-signing-cert-file=/etc/kubernetes/ssl/ca.pem --cluster-signing-key-file=/etc/kubernetes/ssl/ca-key.pem --service-account-private-key-file=/etc/kubernetes/ssl/ca-key.pem --root-ca-file=/etc/kubernetes/ssl/ca.pem --leader-elect=true 直接在主机运行需要有ipset命令 以daemonseset 运行需要开启–allow-privileged=true 默认情况下pod并不能访问所属的svc,想要访问需要开启发夹模式,介绍 需要在kube-router守护进程清单中启用hostIPC:true和hostPID:true。并且必须将主路径/var/run/docker.

阅读全文

[译]Kube Router Documentation

体系结构 Kube-router是围绕观察者和控制器的概念而建立的。 观察者使用Kubernetes监视API来获取与创建,更新和删除Kubernetes对象有关的事件的通知。 每个观察者获取与特定API对象相关的通知。 在从API服务器接收事件时,观察者广播事件。 控制器注册以获取观察者的事件更新,并处理事件。 Kube-router由3个核心控制器和多个观察者组成,如下图所示。 每个 controller 遵循以下结构 func Run() { for { Sync() // control loop that runs for ever and perfom sync at periodic interval } } func OnUpdate() { Sync() // on receiving update of a watched API object (namespace, node, pod, network policy etc) } Sync() { //re-concile any state changes } Cleanup() { // cleanup any changes (to iptables, ipvs, network etc) done to the system } 查看Kube-router实战 网络服务控制器 网络服务控制器负责从Kubernetes API服务器读取服务和端点信息,并相应地在每个群集节点上配置IPVS。

阅读全文

作者的图片

tianpeng du

All in k8s,All in servicemesh

devops

BeiJing