iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Kubernetes中如何部署Traefik Ingress
  • 526
分享到

Kubernetes中如何部署Traefik Ingress

2023-06-04 10:06:28 526人浏览 安东尼
摘要

这篇文章给大家分享的是有关kubernetes中如何部署Traefik Ingress的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:前言1.到目前为止 Kubernetes 暴露服务的有三种方式,分别为 Lo

这篇文章给大家分享的是有关kubernetes中如何部署Traefik Ingress的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一:前言
1.到目前为止 Kubernetes 暴露服务的有三种方式,分别为 LoadBlancer Service、nodePort Service、Ingress。官网对 Ingress 的定义为管理对外服务到集群内服务之间规则的集合,通俗点讲就是它定义规则来允许进入集群的请求被转发到集群中对应服务上,从来实现服务暴漏。 Ingress 能把集群内 Service 配置成外网能够访问的 URL,流量负载均衡,终止SSL,提供基于域名访问的虚拟主机等等
LoadBlancer Service:LoadBlancer Service 是 Kubernetes 结合云平台的组件,如国外 GCE、AWS、国内阿里云等等,使用它向底层云平台申请创建负载均衡器来实现,有局限性,对于使用云平台的集群比较方便。

NodePort Service:  NodePort Service 是通过在节点上暴漏端口,然后通过将端口映射到具体某个服务上来实现服务暴漏,比较直观方便,但是对于集群来说,随着 Service 的不断增加,需要的端口越来越多,很容易出现端口冲突,而且不容易管理。当然对于小规模的集群服务,还是比较不错的。

Ingress:  Ingress 使用开源的反向代理负载均衡器来实现对外暴漏服务,比如 Nginx、Apache、Haproxy等。

2.traefik 是一个前端负载均衡器,对于微服务架构尤其是 kubernetes 等编排工具具有良好的支持;同 nginx 等相比,traefik 能够自动感知后端容器变化,从而实现自动服务发现

二:yaml文件

可以通过https://GitHub.com/containous/traefik/tree/master/examples/k8s 下载所需要的yaml文件; 我们使用了如下几个文件:
Kubernetes中如何部署Traefik Ingress
traefik-rbac.yaml

点击(此处)折叠或打开

  1. ---

  2. kind: ClusterRole

  3. apiVersion: rbac.authorization.k8s.io/v1beta1

  4. metadata:

  5.   name: traefik-ingress-controller

  6. rules:

  7.   - apiGroups:

  8.       - ""

  9.     resources:

  10.       - services

  11.       - endpoints

  12.       - secrets

  13.     verbs:

  14.       - get

  15.       - list

  16.       - watch

  17.   - apiGroups:

  18.       - extensions

  19.     resources:

  20.       - ingresses

  21.     verbs:

  22.       - get

  23.       - list

  24.       - watch

  25. ---

  26. kind: ClusterRoleBinding

  27. apiVersion: rbac.authorization.k8s.io/v1beta1

  28. metadata:

  29.   name: traefik-ingress-controller

  30. roleRef:

  31.   apiGroup: rbac.authorization.k8s.io

  32.   kind: ClusterRole

  33.   name: traefik-ingress-controller

  34. subjects:

  35. - kind: ServiceAccount

  36.   name: traefik-ingress-controller

  37.   namespace: kube-system

traefik-ds.yaml

点击(此处)折叠或打开

  1. ---

  2. apiVersion: v1

  3. kind: ServiceAccount

  4. metadata:

  5.   name: traefik-ingress-controller

  6.   namespace: kube-system

  7. ---

  8. kind: DaemonSet

  9. apiVersion: extensions/v1beta1

  10. metadata:

  11.   name: traefik-ingress-controller

  12.   namespace: kube-system

  13.   labels:

  14.     k8s-app: traefik-ingress-lb

  15. spec:

  16.   template:

  17.     metadata:

  18.       labels:

  19.         k8s-app: traefik-ingress-lb

  20.         name: traefik-ingress-lb

  21.     spec:

  22.       serviceAccountName: traefik-ingress-controller

  23.       terminationGracePeriodSeconds: 60

  24.       hostNetwork: true

  25.       containers:

  26.       - image: traefik

  27.         name: traefik-ingress-lb

  28.         ports:

  29.         - name: Http

  30.           containerPort: 80

  31.           hostPort: 80

  32.         - name: admin

  33.           containerPort: 8080

  34.         securityContext:

  35.           capabilities:

  36.             drop:

  37.             - ALL

  38.             add:

  39.             - NET_BIND_SERVICE

  40.         args:

  41.         - --api

  42.         - --kubernetes

  43.         - --logLevel=INFO

  44. ---

  45. kind: Service

  46. apiVersion: v1

  47. metadata:

  48.   name: traefik-ingress-service

  49.   namespace: kube-system

  50. spec:

  51.   selector:

  52.     k8s-app: traefik-ingress-lb

  53.   ports:

  54.     - protocol: tcp

  55.       port: 80

  56.       name: WEB

  57.     - protocol: TCP

  58.       port: 8080

  59.       name: admin

  60.   type: NodePort

ui.yaml

点击(此处)折叠或打开

  1. apiVersion: v1

  2. kind: Service

  3. metadata:

  4.   name: traefik-web-ui

  5.   namespace: kube-system

  6. spec:

  7.   selector:

  8.     k8s-app: traefik-ingress-lb

  9.   ports:

  10.   - name: web

  11.     port: 80

  12.     targetPort: 8580

  13. ---

  14. apiVersion: extensions/v1beta1

  15. kind: Ingress

  16. metadata:

  17.   name: traefik-web-ui

  18.   namespace: kube-system

  19. spec:

  20.   rules:

  21.   - host: traefik-ui.local

  22.     http:

  23.       paths:

  24.       - path: /

  25.         backend:

  26.           serviceName: traefik-web-ui

  27.           servicePort: web

my-ingress.yaml (这里我们对集群中的 elasticsearch和kibana开启了Ingress)

点击(此处)折叠或打开

  1. apiVersion: extensions/v1beta1

  2. kind: Ingress

  3. metadata:

  4.   name: traefik-ingress

  5.   namespace: kube-system

  6. spec:

  7.   rules:

  8.   - host: elasticsearch.donkey

  9.     http:

  10.       paths:

  11.       - path: /

  12.         backend:

  13.           serviceName: elasticsearch-logging

  14.           servicePort: 9200

  15.   - host: kibana.donkey

  16.     http:

  17.       paths:

  18.       - path: /

  19.         backend:

  20.           serviceName: kibana-logging

  21.           servicePort: 5601


三:部署与验证

1.创建资源  kubectl create -f .
Kubernetes中如何部署Traefik Ingress

2. 通过kubectl logs -f     确认pod正常启动

3.traefik  dashboard
Kubernetes中如何部署Traefik Ingress

4.如果需要在kubernetes集群以外访问就需要设置DNS,或者修改本机的hosts文件。然后通过Igress配置中的host  直接访问service.

感谢各位的阅读!关于“Kubernetes中如何部署Traefik Ingress”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Kubernetes中如何部署Traefik Ingress

本文链接: https://www.lsjlt.com/news/237426.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Kubernetes中如何部署Traefik Ingress
    这篇文章给大家分享的是有关Kubernetes中如何部署Traefik Ingress的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:前言1.到目前为止 Kubernetes 暴露服务的有三种方式,分别为 Lo...
    99+
    2023-06-04
  • Azure中如何部署Kubernetes
    这篇文章将为大家详细讲解有关Azure中如何部署Kubernetes,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Azure 命令行接口 (CLI) 是用于管理 Azure 资源的 Microsoft 跨...
    99+
    2023-06-27
  • Kubernetes中如何部署Spark
    小编给大家分享一下Kubernetes中如何部署Spark,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Spark是新一代分布式内存计算框架,Apache开源的顶...
    99+
    2023-06-27
  • 如何理解kubernetes中的Ingress
    如何理解kubernetes中的Ingress,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一:简介Ingress资源对象,用于将不同URL的访问请求转发到后端不同的Ser...
    99+
    2023-06-04
  • kubeadm中如何部署kubernetes集群
    kubeadm中如何部署kubernetes集群,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、环境要求这里使用RHEL7.5master、etcd:192.168.10.1...
    99+
    2023-06-19
  • Kubernetes中如何部署微服务架构
    要在Kubernetes中部署微服务架构,可以按照以下步骤进行: 创建一个Kubernetes集群:首先需要在云端或本地环境中创...
    99+
    2024-04-02
  • kubernetes中istio-1.0.0如何部署和试用
    小编给大家分享一下kubernetes中istio-1.0.0如何部署和试用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一:简介本文介绍如何在kubernetes1.10.4集群中部署istio-1.0.0 并试用ist...
    99+
    2023-06-04
  • 如何基于k8s的Ingress部署hexo博客
    这篇文章主要介绍“如何基于k8s的Ingress部署hexo博客”,在日常操作中,相信很多人在如何基于k8s的Ingress部署hexo博客问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何基于k8s的Ing...
    99+
    2023-06-19
  • Cloud Toolkit 中如何部署 EDAS Kubernetes 集群
    这期内容当中小编将会给大家带来有关Cloud Toolkit 中如何部署 EDAS Kubernetes 集群,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在 IntelliJ IDEA 上单击 Clou...
    99+
    2023-06-19
  • 如何在Azure中部署Kubernetes容器集群
    这篇文章主要讲解了“如何在Azure中部署Kubernetes容器集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Azure中部署Kubernetes容器集群”吧!在这个快速入门教程...
    99+
    2023-06-16
  • 如何在Kubernetes环境中部署Prometheus系统
    在Kubernetes环境中部署Prometheus系统通常需要以下步骤: 创建Prometheus配置文件:在配置文件中定义P...
    99+
    2024-03-04
    Prometheus
  • Kubernetes中如何使用Rancher部署K8S集群
    本篇文章给大家分享的是有关Kubernetes中如何使用Rancher部署K8S集群,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.安装Rancher这里使用三台机器来搭建K...
    99+
    2023-06-19
  • 如何在Azure上部署Kubernetes集群
    如何在Azure上部署Kubernetes集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在实验、演示的时候,或者是生产过程中,我经常会需要运行一些 Docker 负载。...
    99+
    2023-06-05
  • 如何在kubernetes上部署consul集群
    这篇文章主要介绍“如何在kubernetes上部署consul集群”,在日常操作中,相信很多人在如何在kubernetes上部署consul集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在kubern...
    99+
    2023-06-04
  • Kubernetes如何部署可视化地图
    这篇文章主要介绍“Kubernetes如何部署可视化地图”,在日常操作中,相信很多人在Kubernetes如何部署可视化地图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Kubernetes如何部署可视化地图...
    99+
    2023-06-29
  • Kubernetes中怎么部署应用
    这期内容当中小编将会给大家带来有关Kubernetes中怎么部署应用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。通过Eclipse构建一个Spring  Bo...
    99+
    2024-04-02
  • 在Kubernetes集群中如何部署和配置PrometheusOperator
    要在Kubernetes集群中部署和配置Prometheus Operator,可以按照以下步骤进行: 部署Prometheus ...
    99+
    2024-03-04
    Prometheus
  • 如何基于Kubernetes部署MySQL数据库
    本篇内容介绍了“如何基于Kubernetes部署MySQL数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2024-04-02
  • 如何通过Kubernetes Ingress进行高级外部应用程序连接
    如何通过Kubernetes Ingress进行高级外部应用程序连接,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Kubernetes的Ingress文档页面将...
    99+
    2023-06-03
  • Helm如何解决Kubernetes中部署应用的问题
    这篇文章将为大家详细讲解有关Helm如何解决Kubernetes中部署应用的问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、背景Kubernetes(k8s)是一个基于容器技术的分布式...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作