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

这篇具有很好参考价值的文章主要介绍了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

k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器

[root@server2 ingress-nginx]# kubectl get svc nginx-svc

k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
这里需要给这个ip做好地址解析,然后在外部访问域名查看效果。
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器

三、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

k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
最后将yaml文件中的image地址改成如图所示:
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
此处将IPIP模式关闭
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
之前安装的flannel插件,需保持一致;如果没有安装过flannel,则不需要管
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
先将之前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

k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器

calico网络架构

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

BIRD:一个标准的路由程序,它会从内核里面获取哪一些IP的路由发生了变化,然后通过标准BGP的路由协议扩散到整个其他的宿主机上,让外界都知道这个IP在这里,路由的时候到这里来。
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
IPIP工作模式:适用于互相访问的pod不在同一个网段中,跨网段访问的场景。
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
BGP工作模式:适用于互相访问的pod在同一个网段,适用于大型网络。
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器

网络策略

NetworkPolicy策略模型:控制某个namespace下的pod的网络出入站规则
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
官网: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运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器

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

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
k8s的网络优化(metallb)_metallb二层网络(1),2024年程序员学习,kubernetes,网络,容器

识点,真正体系化!**

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-0W76WcPT-1712501488254)]文章来源地址https://www.toymoban.com/news/detail-848574.html

到了这里,关于k8s的网络优化(metallb)_metallb二层网络(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8s技术全景:架构、应用与优化

    本文深入探讨了Kubernetes(K8s)的关键方面,包括其架构、容器编排、网络与存储管理、安全与合规、高可用性、灾难恢复以及监控与日志系统。 关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验

    2024年04月08日
    浏览(105)
  • 【K8S系列】深入解析k8s网络

    你只管努力,其他交给时间,时间会证明一切。 文章标记颜色说明: 黄色 :重要标题 红色 :用来标记结论 绿色 :用来标记一级论点 蓝色 :用来标记二级论点 Kubernetes (k8s) 是一个容器编排平台,允许在容器中运行应用程序和服务。今天学习一下k8s网络相关的内容 希望这篇

    2024年02月03日
    浏览(51)
  • 【云原生 • Kubernetes】认识 k8s 网络、外部网络访问 k8s 内部服务

    目录 一、认识 Kubernetes 网络 二、外部网络如何访问 k8s 内部服务 1. NodePort 2. Load Balancer 3. Ingress Kubernetes 最底层的网络为节点网络,用来保证 k8s 集群的节点(master 和 worker、worker 节点之间)能够做正常的 IP 寻址和通讯。 Kubernetes 第二层网络就是 Pod 网络,构建于节点网络之上

    2024年01月16日
    浏览(72)
  • 【K8S系列】深入解析k8s 网络插件—Antrea

    做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色 :重要标题 红色 :用来标记结论 绿色 :用来标记论点 蓝色 :用来标记论点 在现代容器化应用程序的世界中,容器编排平台Kubernetes已经成为标准。Kubernetes是一个分布式系统

    2024年02月08日
    浏览(42)
  • 【K8S系列】深入解析k8s网络插件—Flannel

      做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色:重要标题 红色:用来标记结论 绿色:用来标记论点 蓝色:用来标记论点 Kubernetes (k8s) 是一个容器编排平台,允许在容器中运行应用程序和服务。今天学习一下k8s网络插件

    2024年02月16日
    浏览(44)
  • 【K8S系列】深入解析k8s网络插件—Canal

    做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色 :重要标题 红色 :用来标记结论 绿色 :用来标记论点 蓝色 :用来标记论点 在现代容器化应用程序的世界中,容器编排平台Kubernetes已经成为标准。Kubernetes是一个分布式系统

    2024年02月08日
    浏览(51)
  • 【K8S系列】深入解析k8s网络插件—Cilium

    做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色 :重要标题 红色 :用来标记结论 绿色 :用来标记论点 蓝色 :用来标记论点 在现代容器化应用程序的世界中,容器编排平台Kubernetes已经成为标准。为了支持复杂的应用和微

    2024年02月10日
    浏览(48)
  • 【K8S系列】深入解析k8s网络插件—Calico

    做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色 :重要标题 红色 :用来标记结论 绿色 :用来标记论点 蓝色 :用来标记论点 Kubernetes (k8s) 是一个容器编排平台,允许在容器中运行应用程序和服务。今天学习一下k8s网络插件

    2024年02月16日
    浏览(46)
  • 6个优化策略,助你降低K8S成本

    Kubernetes 早已成为容器编排引擎的事实标准,而随着 Kubernetes 环境的复杂性持续增长,成本也在不断攀升。CNCF 发布的调查报告《Kubernetes 的 FinOps》显示, 68%的受访者表示 Kubernetes 开销正在上涨 ,并且一半的人所在的组织经历了每年超过20%的开销增长。   因此,Kubernetes 成本

    2023年04月27日
    浏览(58)
  • 如何优化k8s中HPA的弹性速率?

    本文分享自华为云社区《K8s 核心资源指标HPA性能优化之路》,作者:可以交个朋友。 以弹性指标为cpu、memory为例。在Kubernetes 1.7版本中引入了聚合层,允许第三方应用程序注册相关API接口到kube-apiserver上。其中 /apis/metrics.k8s.io/v1beta1 一般由metrics-server程序提供,以插件的形式

    2024年02月22日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包