虚拟侵入

六. k8s--ingress学习笔记

匿名 (未验证) 提交于 2019-12-02 23:57:01
Ŀ¼ trafik envoy nginx ingress和service的区别与联系 mkdir nginx-ingress cd nginx-ingress wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.25.1/deploy/static/mandatory.yaml kubectl apply -f mandatory.yaml kubectl get ns kubectl get pod -n ingress-nginx wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml cat service-nodeport.yaml apiVersion: v1 kind: Service metadata: name: ingress-nginx namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx spec: type

k8s-traefik默认80端口

匿名 (未验证) 提交于 2019-12-02 23:55:01
vim traefik.yaml kind : Deployment apiVersion : extensions / v1beta1 metadata : name : traefik - ingress - controller namespace : kube - ops labels : k8s - app : traefik - ingress - lb spec : replicas : 1 selector : matchLabels : k8s - app : traefik - ingress - lb template : metadata : labels : k8s - app : traefik - ingress - lb name : traefik - ingress - lb spec : serviceAccountName : traefik - ingress - controller terminationGracePeriodSeconds : 60 tolerations : - operator : "Exists" nodeSelector : kubernetes . io / hostname : master containers : - image : traefik name : traefik - ingress -

Kubernetes Ingress with AWS ALB Ingress Controller

匿名 (未验证) 提交于 2019-12-02 23:51:01
Kubernetes Ingress with AWS ALB Ingress Controller Amazon Elastic Kubernetes Service Open Source Permalink 中文版 Kubernetes Ingress Kubernetes services Amazon Elastic Load Balancing Application Load Balancer AWS ALB Ingress controller ALB Terminology We will use the following acronyms to describe the Kubernetes Ingress concepts in more detail: AWS Application Load Balancer Elastic Network Interfaces NodePort type NodePort Service . aws-alb-ingress-controller The following diagram details the AWS components that the aws-alb-ingress-controller creates whenever an Ingress resource is defined by the

kubernetes ingress(一) 简介

匿名 (未验证) 提交于 2019-12-02 23:43:01
背景: kubernetes集群内部有三种方式暴露服务:nodeport,loadbalancer,ingress,其中loadbalancer需要云厂商提供对应公网负载均衡,维护成本,费用高。 采用nodeport这种方式的弊端: 1、开通过多端口,对主机安全性存在一定风险(内网环境,问题不大),多端口的管理过于复杂,混乱 2、nginx upstream配置nodeport,当后端服务出现异常,探针未及时检测到时,有可能因为nginx 的健康检测机制,导致所有服务都被摘除。 对于ingress的调研,分为两部分。一部分是ingress,一部分是ingress controller, ingress 本身是kubernetes 的一种资源。用于描述host(域名),url,header 与后端服务的对应路由关系,例如,可以在ingress 中定义,www.qyd.com 这个域名/book的url 路由到qingyidai这个命名空间中的book服务。 ingress controller 从功能上也可以分为两点: 1、 动态的与apiserver交互,获取kubernetes集群中ingress资源的动态,并应用为自身的配置。 2、为服务提供路由功能,及其他附加功能(SSL等) Ingress Controller是一个统称,并不是只有一个,有如下这些: 从上边我们看到

Ingress使用示例

匿名 (未验证) 提交于 2019-12-02 23:38:02
Ingress概念介绍 Ingress反代到后端的web服务器 apiVersion: v1 kind: Service metadata: name: myapp namespace: default spec: selector: app: myapp release: canary ports: - name: http targetPort: 80 port: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy namespace: default apiVersion: v1 kind: Service metadata: name: myapp namespace: default spec: selector: app: myapp release: canary ports: - name: http targetPort: 80 port: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy namespace: default spec: replicas: 3 selector: matchLabels: app: myapp release: canary template

Ingress-nginx 部署使用

匿名 (未验证) 提交于 2019-12-02 22:10:10
2、其实我们还可以这样干,可以让我们pod直接共享我们节点的网络名称空间,于是,上述中的会话卸载器pod我们可以直接让他共享节点网络名称空间,这就意味着其监听着宿主机的地址,这样我们客户端的请求就可以之间到达这个pod,然后再由他进行调度。 3、在一个节点上运行的容器,容器可以使用自己的虚拟网络,也可以共享宿主机的网络,如果这个容器共享宿主机的网络也就意味着这个容器内的进程一旦监听套接字时它监听的是宿主机的地址,相当于一个进程运行在宿主机上一样的,这样一来这个pod在每个节点上就只能运行一个了,一般来讲集群中只有一个,那么其只需要运行在集群的某一个节点即可,但是如果 监听在节点的端口时就会有问题,service时无论访问哪一个节点的端口都行,因为你访问哪一个节点的nodePort他都能通过它的ip地址送达到后端pod上,但是现在这个Pod要监听节点的网络名称空间,并且通过这个节点的网络名称空间直达这个pod,那么如果运行这种类型的pod那么就一定只能运行在一个节点上,访问时客户端就只能访问这个节点,并且如果这个节点挂了呢?   4、要解决这个问题,我们可以用DaemonSet控制器,它可以在每个节点上都运行相应的pod 副本并且只运行一个,这样假如我们有三个节点那么我们三个节点上都可以运行这个pod。这样就都能实现代理和负载均衡,但是又回到了调度到哪一个节点都可以的问题

安装nginx-ingress控制器,使用

為{幸葍}努か 提交于 2019-12-02 21:56:47
安装 1.修改了镜像地址,以及网络模式,选用 hostNetwork: true 网络模式(使用宿主机网络) kubectl apply -f ingress-nginx.yaml 2.使用官方提供的方式安装使用方式(如果国内没使用代理,官方提供的镜像地址拉去镜像会失败) https://github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml view: 3.使用ingress关联servie服务 kubectl apply -f ingress.yaml 文件下载地址 https://github.com/yundd/kubernetes/tree/master/k8s_install/ingress 来源: https://www.cnblogs.com/yundd/p/11764038.html

[转帖]K8s 工程师必懂的 10 种 Ingress 控制器

。_饼干妹妹 提交于 2019-12-02 17:48:41
K8s 工程师必懂的 10 种 Ingress 控制器 https://www.kubernetes.org.cn/5948.html 控制器有好多啊. 2019-10-18 23:07 中文社区 分类: Kubernetes教程/入门教程 阅读(736) 评论(0) 今年 2 月,社区曾推送了一篇文章:《 在 K8s 中,如何选择合适的 Ingress 控制器 》。但当时只介绍了两种解决方案。为了帮助读者对 Ingress Controler 建立更完整的认识,今天,社区对现下流行的十种方案做了具体介绍。 作者:Flant 翻译:bot(才云) 技术校对:星空下的文仔(才云) 为特定的应用部署 Kubernetes 集群时,我们通常需要实现来自应用程序本身、业务和开发人员的需求。了解这些后,我们就可以进行架构选择,并为 Kubernetes 选择合适的 Ingress 控制器。 为了方便工程师高效选用合适的 Ingress 控制器,本文对业内的 Ingress 控制器做了整理和功能梳理,最后总结成一篇综述。借助这篇文章,希望读者能找到一个好的起点,然后开始自己的实践。 选择标准 为了进行客观对比并得到有用的结果,首先我们需要一套特定的标准来确定研究方向。注意,以下评测并不能涵盖所有 Kubernetes Ingress、API 网关、服务网格用例,但会尽可能覆盖常见要求

4.2.k8s.Ingress-Nginx

≯℡__Kan透↙ 提交于 2019-12-02 16:56:16
Ingress-Nginx ingress-nginx为7层代理,通过配置域名访问后端服务 ingress-nginx容器和kubernetes api交互,动态生成nginx配置 ingress服务定义域名规则,最终更新到ingress容器 #官网 https://kubernetes.github.io/ingress-nginx/deploy/ https://github.com/kubernetes/ingress-nginx #部署ingress-nginx #下载ingress-nginx yaml文件 wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml #查看image grep image mandatory.yaml #更改镜像源(hub.docker.com官网找镜像) sed -i 's@quay.io/kubernetes-ingress-controller@siriuszg@' mandatory.yaml #下载镜像 docker pull $(awk '/image/{print $2}' mandatory.yaml) #部署Pod kubectl apply -f mandatory.yaml

Kubernetes的Ingress简单入门教程

a 夏天 提交于 2019-12-02 02:36:27
目录 一、什么是Ingress 三、部署Nginx Ingress Controller 三、部署一个Service将Nginx服务暴露出去 四、部署一个我们自己的服务Cafe 五、创建ingress的证书 六、部署ingress 七、访问ingress代理的服务 1.访问coffee 2.访问tea 3.访问不存在的页面cqh 一、什么是Ingress Ingress对象,其实就是对“反向代理”的一种抽象,简单的说就是一个全局的负载均衡器,可以通过访问URL定位到后端的Service 有了Ingress这个抽象,K8S就不需要关心Ingress的细节了,实际使用时,只需要选择一个具体的Ingress Controller部署就行了,业界常用的反向代理项目有:Nginx、HAProxy、Envoy、Traefik,都已经成为了K8S专门维护的Ingress Controller 一个Ingress对象的主要内容,就类似Nginx的配置文件描述,对应的转发规则就是ingressRule, 有了Ingress这个对象,用户就可以根据自己的需求选择Ingress Controller,例如,如果应用对代理服务的中断非常敏感,可以使用Treafik这样的Ingress Controller Ingress工作在七层,Service工作在四层