k8s的网络优化(metallb)_metallb二层网络(1)

复制代码
[root@server2 ingress-nginx]# cat demo.yml 
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx-test
spec:
 # tls:
 # - hosts:
 # - www1.westos.org
 # secretName: tls-secret
  rules:
    - host: www1.westos.org
      http:
        paths:
        - path: /
          backend:
            serviceName: nginx-svc
            servicePort: 80

[root@server2 ingress-nginx]# kubectl apply -f nginx-svc.yml
[root@server2 ingress-nginx]# kubectl apply -f demo.yml
[root@server2 ingress-nginx]# kubectl get ingress
[root@server2 ingress-nginx]# kubectl describe ingress nginx-test
复制代码
[root@server2 ingress-nginx]# kubectl get svc nginx-svc

这里需要给这个ip做好地址解析,然后在外部访问域名查看效果。

三、calico网络插件

官网:https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises

calico简介:

flannel实现的是网络通信,calico的特性是在pod之间的隔离。

通过BGP路由,但大规模端点的拓扑计算和收敛往往需要一定的时间和计算资源。

纯三层的转发,中间没有任何的NAT和overlay,转发效率最好。

Calico 仅依赖三层路由可达。Calico 较少的依赖性使它能适配所有 VM、Container、白盒或者混合环境场景。

准备环境

复制代码
[root@server2 ~]# mkdir calico
[root@server2 ~]# cd calico/
[root@server2 calico]# ls
[root@server2 calico]# wget https://docs.projectcalico.org/manifests/calico.yaml
从yaml文件中找到所需的镜像,从官方拉取并上传到自己的私有仓库

注意此处我已经在仓库中创建的calico项目

复制代码
[root@server1 harbor]# docker pull docker.io/calico/cni:v3.18.1
[root@server1 harbor]# docker tag docker.io/calico/cni:v3.18.1 reg.westos.org/calico/cni:v3.18.1
[root@server1 harbor]# docker push reg.westos.org/calico/cni:v3.18.1
[root@server1 harbor]# docker pull docker.io/calico/node:v3.18.1
[root@server1 harbor]# docker tag docker.io/calico/node:v3.18.1 reg.westos.org/calico/node:v3.18.1
[root@server1 harbor]# docker push reg.westos.org/calico/node:v3.18.1
[root@server1 harbor]# docker pull docker.io/calico/pod2daemon-flexvol:v3.18.1
[root@server1 harbor]# docker tag docker.io/calico/pod2daemon-flexvol:v3.18.1 reg.westos.org/calico/pod2daemon-flexvol:v3.18.1
[root@server1 harbor]# docker push reg.westos.org/calico/pod2daemon-flexvol:v3.18.1
[root@server1 harbor]# docker pull docker.io/calico/kube-controllers:v3.18.1
[root@server1 harbor]# docker tag docker.io/calico/kube-controllers:v3.18.1 reg.westos.org/calico/kube-controllers:v3.18.1
[root@server1 harbor]# docker push reg.westos.org/calico/kube-controllers:v3.18.1

最后将yaml文件中的image地址改成如图所示:

此处将IPIP模式关闭

之前安装的flannel插件,需保持一致;如果没有安装过flannel,则不需要管

先将之前flannel网络组件删除

复制代码
[root@server2 ~]# kubectl delete -f kube-flannel.yml

安装插件

复制代码
所有节点都需要进行以下两步操作
[root@server2 calico]# cd /etc/cni/net.d/
[root@server2 net.d]# mv 10-flannel.conflist /mnt
[root@server2 calico]# kubectl apply -f calico.yaml
[root@server2 calico]# kubectl -n kube-system get pod

calico网络架构

Felix:监听ECTD中心的存储获取事件,用户创建pod后,Felix负责将其网卡、IP、MAC都设置好,然后在内核的路由表里面写一条,注明这个IP应该到这张网卡。同样如果用户制定了隔离策略,Felix同样会将该策略创建到ACL中,以实现隔离。

BIRD:一个标准的路由程序,它会从内核里面获取哪一些IP的路由发生了变化,然后通过标准BGP的路由协议扩散到整个其他的宿主机上,让外界都知道这个IP在这里,路由的时候到这里来。

IPIP工作模式:适用于互相访问的pod不在同一个网段中,跨网段访问的场景。

BGP工作模式:适用于互相访问的pod在同一个网段,适用于大型网络。

网络策略

NetworkPolicy策略模型:控制某个namespace下的pod的网络出入站规则

官网:https://kubernetes.io/zh/docs/concepts/services-networking/network-policies/

限制访问指定服务:

复制代码
# vim nginx-policy.yml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-nginx
spec:
  podSelector:
    matchLabels:
      app: nginx

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。




既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)

识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)

外链图片转存中...(img-0W76WcPT-1712501488254)

相关推荐
Johny_Zhao8 分钟前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
代码老y3 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
Me4神秘7 小时前
电信、移动、联通、广电跨运营商网速慢原因
网络
数通Dinner9 小时前
RSTP 拓扑收敛机制
网络·网络协议·tcp/ip·算法·信息与通信
liulilittle10 小时前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
tan77º11 小时前
【Linux网络编程】Socket - UDP
linux·服务器·网络·c++·udp
小白爱电脑11 小时前
光纤的最小弯曲半径是多少?
网络
花落已飘12 小时前
多线程 vs 异步
linux·网络·系统架构
qq_1715388515 小时前
TCP/IP协议精解:IP协议——互联网世界的邮政编码系统
网络·网络协议·tcp/ip
珹洺15 小时前
计算机网络:(七)网络层(上)网络层中重要的概念与网际协议 IP
网络·tcp/ip·计算机网络