练习calico的网络policy】的更多相关文章

1.安装docker,kubelet kubeadm kubectl 1 ssh-keygen 2 cat .ssh/authorized_keys 3 cat .ssh/id_rsa.pub 4 ssh 47.254.84.60 5 swapoff -a 6 vi /etc/fstab 7 systemctl stop firewalld 8 cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesb…
Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信.本节讨论如何定制 policy. calico 能够让用户定义灵活的 policy 规则,精细化控制进出容器的流量,下面我们就来实践一个场景: 创建一个新的 calico 网络 cal_web 并部署一个 httpd 容器 web1. 定义 policy 允许 cal_net2 中的容器访问 web1 的 80 端口. 首先创建 cal_web. docker network create --driv…
参考https://www.cnblogs.com/CloudMan6/p/7552618.html     Calico默认的policy是:容器只能与同一个calico网络中的容器通信.   Calico能够让用户定义灵活的policy规则,精细化控制进出容器的流量,比如下面的实验:       1.创建一个新的calico网络 cal_web 并部署一个httpd的容器 web1       2.定义policy 允许cal_net2 中的容器访问web1的80端口   更多的policy…
定制 Calico 网络 Policy Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信. Calico 能够让用户定义灵活的 policy 规则,精细化控制进出容器的流量 实践一个场景: 1.创建一个新的 calico 网络 cal_web 并部署一个 httpd 容器 web1. 2.定义 policy 允许 cal_net2 中的容器访问 web1 的 80 端口. 首先创建 cal_web docker network create --dri…
参考calico官网:http://docs.projectcalico.org/v2.0/getting-started/kubernetes/installation/hosted/kubeadm/ 上述链接介绍的是利用calico内置独立的etcd节点实现pod发现与存储的机制,过程中通过yaml文件描述的规则在Kubernetes master所在node上部署一个单节点的etcd集群,此etcd集群只供calico内部使用 贴一下我的配置: # This ConfigMap is us…
一..安装calico [root@k8s-master01 ~]# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/canal/rbac.yaml clusterrole.rbac.authorization.k8s.io "calico" created clusterrole.rbac.authorization.k8s.io &…
1.k8s网络通信 a.容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现; b.pod之间的通信:pod ip <---> pod ip,pod和pod之间不经过任何转换即可通信; c.pod和service通信:pod ip <----> cluster ip(即service ip)<---->pod ip,它们通过iptables或ipvs实现通信,ipvs取代不了iptables,因为ipvs只能做负载均衡,而做不了nat转换; d.Service…
Calico是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来.与vxlan不同的是:calico不对数据包进行封装,不需要NAT和端口映射,扩展性和性能都很好 与其他容器网络相比,calico还有一个优势:network policy.用户可以动态定义ACL规则,控制进出容器的数据包,实现业务需求 calico依赖etcd在不同主机间共享和交换信息,存储calico网络状态.calico网络中每个主机都要运行calico组…
相同calico 网络之间的连通性 测试一下 bbox1 与 bbox2 的连通性: ping 成功,数据包流向如下图所示. 1)根据 bbox1 的路由表,将数据包从 cal0 发出. 2)数据经过 veth pair 到达 host1,查看路由表,数据由 ens192 发给 host2(10.12.31.23). 192.168.183.64/26 via 10.12.31.23 dev ens192  proto bird 3)host2 收到数据包,根据路由表发送给 cali95e23c…
简单来说,实现docker跨主机容器间通信,常用的第三方网络方案是Flannel,Weave,Calico:Flannel会为每个host分配一个subnet,容器从这个subnet中分配ip,这些ip可以在host间路由,容器间无需NAT和port mapping转发就可以实现跨主机通信.Flannel网络没有提供Docker DNS服务, 容器间不能通过hostname访问. Weave对于容器来说,它就像是一个巨大的以太网交换机, 所有容器都被接入到这个交换机,同样容器间无需NAT和por…