首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏葫芦

    linux ingress-controller elb pending

    ---- 修复 nginx-ingress service 不自动生成aws-elb问题 my-nginx-ingress-ingress-nginx-controller LoadBalancer 192.168.2.12 <pending> 80:32222/TCP,443:32223/TCP 2m7s 打开 kube-controller-manager 日志发现报错: event.go:291] "Event occurred" object="nginx-ingress/my-nginx-ing

    85920发布于 2021-10-20
  • 来自专栏LinkinStar's Blog

    kubernetes之ingress的基本使用

    这样你在 dns 域名配置的时候只需要将 域名 指向你 ingress 暴露的 ip 就可以了 概念 首先我们需要认识两个概念:ingress 与 ingress-controller,你可以简单这样理解 : ingress-controller 是反向代理程序 ingress 是反向代理规则 ingress-controller ingress-controller 是 ingress 中核心的组件,就是这个控制器来进行具体的转发和路由 当然 ingress-controller 有着各种各样的实现,k8s 官方维护的实现就是 ingress-nginx。 ingress ingress 其实是 k8s 中的一个对象,和 deployment 、service 一样,而它的功能就是去定义具体的转发规则,这些配置的规则的变化会被监控,并将这些规则给到 ingress-controller 通过 APIServer 获取 ingress 资源的变化 当 ingress 资源变化时,重新生成路由规则 nginx.conf 然后重新加载这个规则 nginx -s reload 当流量打到 ingress-controller

    1K20编辑于 2022-09-01
  • 来自专栏devops_k8s

    08 . Kubernetes之 ingress及Ingress Controller

    Ingress与Ingress-controller 要理解ingress,需要区分两个概念,ingress和ingress-controller: Ingress对象: 指的是k8s中的一个api ,根据配置的规则来实现请求转发; 简单来说,Ingress-controller才是负责转发的组件,通过各种方式将他暴露在集群入口,外部对集群的请求流量会先到Ingress-controller,而Ingress # Nginx # Trefik (微服务) # Envoy Ingress-controller并不是k8s自带的组件,实际上ingress-controller只是一个统称,用户可以选择不同的 Ingress-controller实现,目前,由K8S维护的Ingress-controller只有google云的GCE与Ingress-nginx两个,其他还有第三方维护的ingress-controller ,但不管采用哪种Ingress-controller,实现的机制都大同小异,只是在具体配置上有差异,一般来说,Ingress-controller的形式都是一个Pod,里面跑着daemon程序和反向代理程序

    3.4K83发布于 2020-09-27
  • 来自专栏云原生布道专栏

    【重识云原生】第六章容器基础6.4.11.1节——Ingress综述

    简单来说,ingress-controller才是负责具体转发的组件,通过各种方式将它暴露在集群入口,外部对集群的请求流量会先到ingress-controller,而ingress对象是用来告诉ingress-controller 1.2.2 ingress-controller组件        ingress-controller是具体实现反向代理及负载均衡的程序,对ingress定义的规则进行解析,根据配置的规则来实现请求转发 ingress-controller并不是k8s自带的组件,实际上ingess-controller只是一个统称,用户可以选择不同的ingress-controller实现,目前,由k8s维护的ingress-controller 但是不管哪一种ingress-controller,实现的机制都大同小异,只是在具体配置上有差异,ingress controller核心是一个deployment,需要编写的yaml有:Deployment 一般来说,ingress-controller的形式都是一个pod,里面跑着demon程序和反向代理程序。

    1.4K40编辑于 2023-03-23
  • 来自专栏TKE操作指北

    如何在TKE集群玩转nginx-ingress

    中 3.Ingress-Controller-service: Ingress-Controller组件的前段service,用于接入外部流量 4.nginx-ingress-default-backend : ingress-controller中没有对应转发规则的时候,请求自动分发到这个默认容器内(可以理解为网站文件中的404配置文件) 5.service: 底层容器服务,用于标识后段的pod信息(只起标识作用 中,我们这就进入ingress-controller 所在的pod 观察下,对应的转发规则是否生成。 ingress.gif 这里看到ingress 的转发规则一定自动同步到 ingress-controller ,现在我们就可以访问测试。 ,如果这里填写的不是nginx ,填写成nginx-ingress 或者 qcloud 这种类型,都是不会跟 ingress-controller 做联动同步的。

    2.7K70发布于 2019-12-16
  • 来自专栏devops_k8s

    K8s 服务异常排障过程全解密

    访问实现拓扑会根据 ingress-controller 部署形式不同而有差异,ingress-controller 非 hostnetwork 部署下文简称部署模式一,ingress-controller hostnetwork 部署下文简称部署模式二step 1:外部 client 请求 DNS 服务器解析 url 的域名,DNS 服务会返回 ingress-controller 服务所在的 IP ( 如果前面有挂 LB,则访问的是 LB 的 IP,否则返回的是 ingress-controller 服务的 nodeip:port)step 2:此时部署模式一,则需要按方式二访问 ingress-controller 3.5 step5 确定 ingress 是否异常 在服务访问方式中方式三的场景下,如果需要检查 Ingress 的状态,可以查看基于 ingress-controller 服务的状态/负载/请求日志等构建的

    99720编辑于 2023-06-03
  • 来自专栏Liusy01

    k8s之HTTP请求负载分发

    案例 一、简介 创建一个命名空间:ingress,启动两个服务,一个是user,一个是order,利用Ingress-controller将请求/api/user转发到user服务,将请求/api/order kubectl create 命令创建上述资源 (4)在ingress命名空间中创建ServiceAccount 创建ServiceAccount和ClusterRoleBinding,如果不创建的话,Ingress-controller 会使用默认名为default的ServiceAccount,default权限很弱,获取不到相应的资源信息,这样Ingress-controller会启动失败。 【注】为什么只有一个ip,是因为这个RC只有一个Pod,调度到cnode-2这台机运行,如果想要每台机器都有一个,建议使用DaemonSet类型的Controller 此时查看ingress-controller 从上图可以看到,当ingress创建之后,ingress-controller会自动去加载,然后生成对应的nginx的conf文件。

    1K30发布于 2020-11-11
  • 来自专栏懒人的运维备忘录

    七层调度:ingress 资源及 Ingress Controller 控制器

    ingress 规则写明了哪个域名对应 k8s 集群中的哪个 service,然后再根据 ingress-controller 中的 nginx 配置模板,生成一段对应的 nginx 配置。 然后再把该配置动态的写到 ingress-controller 的 pod 里,该 ingress-controller 的 pod 里面运行着一个 nginx 服务,控制器会把生成的 nginx 配置写入到 kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/provider/baremetal/service-nodeport.yaml 调整配置文件 因为 ingress-controller mandatory.yaml 创建相关资源 kubectl apply -f mandatory.yaml kubectl apply -f service-nodeport.yaml 绑定 node 节点 (可选) 目前 ingress-controller 会被调度器分配到某一个节点,如果需要指定一台独立的 node 节点运行 ingress-controller,就需要 node 节点打标签。

    2.1K40发布于 2020-11-30
  • 来自专栏深入浅出微服务及云原生技术

    【Kubernetes系列】第7篇 Ingress controller - nginx组件介绍

    tag quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.1 registry.hankercloud.com/ingress-controller /nginx-ingress-controller:0.25.1 > docker push registry.hankercloud.com/ingress-controller/nginx-ingress-controller set controller.metrics.enabled=true \ --set controller.image.repository=registry.hankercloud.com/ingress-controller

    1.4K30发布于 2019-10-15
  • 来自专栏运维开发故事

    kubernetes Service:让客户端发现pod并与之通信

    用Deployment部署ingress-controller,创建一个type为LoadBalancer的service关联这组pod。 也就是说每个节点物理机的80和443端口将会被ingress-controller中的nginx容器占用。当流量通过80/443端口进入时,将直接进入到nginx中。 使用hostNetwork的方式,ingress-controller将会使用的是物理机的DNS域名解析(即物理机的/etc/resolv.conf)。 缺点是由于直接利用宿主机节点的网络和端口,一个node只能部署一个ingress-controller pod。比较适合大并发的生产环境使用。 因为我们创建的ingress-controller采用的是hostnetwork模式,所以无需在创建nodePort形式的ingress-svc服务来把端口映射到节点主机上。

    3.4K30发布于 2020-06-09
  • 来自专栏飞鸟的专栏

    helm安装ingress

    ingress-nginx -n ingress-nginx ​ # 部署以及暴露方式 # DaemonSet+HostNetwork+nodeSelector # 用DaemonSet结合nodeselector来部署ingress-controller 这时,ingress-controller所在的node机器就很类似传统架构的边缘节点,比如机房入口的nginx服务器。该方式整个请求链路最简单,性能相对NodePort模式更好。 缺点是由于直接利用宿主机节点的网络和端口,一个node只能部署一个ingress-controller pod。比较适合大并发的生产环境使用。

    3K41编辑于 2022-06-07
  • 来自专栏网管叨bi叨

    你知道K8S暴露服务的方式有哪些吗?

    给Service前面加Ingress,你的集群中需要有Ingress-Controller才行。有多种控制器可供选择。 大多数主要的云提供商都有自己的Ingress-Controller,与他们的负载平衡基础设施相集成。 如果集群里安装了多个Ingress-Controller这将很有用,也可以将不同的Service分别挂在不同分类的Ingress下面,增加一些高可用性。 可能你对Ingress,Ingress-Controller还是有一点模糊,后面我在写一篇Ingress的实践文章,给大家扫扫盲。 没有关注的同学,可以关注一下后面的文章动态。

    3.4K20发布于 2021-09-24
  • 来自专栏EdisonTalk

    ASP.NET Core on K8S深入学习(12)Ingress

    增加hostNetwork: true的配置,即直接占用宿主机80/443端口 (3)将Ingress-Controller部署到有ingressHost: yes这个label的Node节点上,即我的 k8s-node1服务器上 (4)将Ingress-Controller的镜像源改为阿里云镜像仓库:registry.cn-hangzhou.aliyuncs.com apiVersion: v1 也就是说每个节点物理机的80和443端口将会被ingress-controller中的nginx容器占用。当流量通过80/443端口进入时,将直接进入到nginx中。 然后,我们就可以运行创建命令来创建Ingress-Controller了: kubectl apply -f mandatory.yaml 执行后的显示如下图所示,它会执行一系列的创建工作如namespace 、configmap、serviceaccount、rbac以及daemonset等: [381412-20200510124555581-439407979.png] Ingress-Controller

    1.2K50发布于 2020-05-11
  • 来自专栏容器云实践

    k8s loadbalancer与ingress实践

    我们所说的Ingress包含两个部分: •ingress k8s资源对象:流量路由规则的控制•ingress-controller控制器:控制器的实现有非常多,可参考官方文档中列表Ingress 控制器 [6],这里我们使用k8s官方维护的控制器NGINX Ingress Controller[7] 外部流量进入集群时先经过ingress-controller,然后根据ingress配置的路由规则将请求转发到后端 ingress-controller ingress-controller其实就是守护进程加一个反向代理的应用,守护进程不断监听集群中资源的变化,将ingress中的配置信息生成反向代理配置。 ingress-controller不是k8s内部组件,可以通过helm或资源清单方式安装,可查看ingress-nginx deploy[8] kubectl apply -f https://raw.githubusercontent.com

    2.5K20编辑于 2022-01-10
  • 来自专栏Kubernetes

    Kubernetes Nginx Ingress Controller源码分析之创建篇

    . // 创建目录 "/ingress-controller/ssl", 用于保存Ingress中定义的SSL certificates,文件名格式为<namespace>-<secret name 创建目录 "/ingress-controller/ssl", 用于保存Ingress中定义的SSL certificates,文件名格式为<namespace>-<secret name>.pem 构造 ic.syncQueue.Enqueue(cur) // 将Ingress中定义的Secret同步更新到对应的"/ingress-controller/ssl/<namespace>-<secret 将Ingress中定义的Secret同步更新到对应的"/ingress-controller/ssl/<namespace>-<secret name>.pem"中。 更新ic.runningConfig 从前面的代码分析,可得出以下情况会调用ic.syncSecret将secret内容更新到对应的"/ingress-controller/ssl/<namespace

    2.3K70发布于 2018-04-13
  • 来自专栏阶梯计划

    windows单机搭建k8s环境——部署ingress

    访问服务的工作流程如下: 用户 → ingress-nginx(pod) → ingress-nginx(controller控制器) → ingress →service → pod 这里面有ingress和ingress-controller 剩余就是nginx怎么处理的事情; ingress-controller就是解决 “nginx怎么处理” 的;ingress-controller通过与k8s的API Server交互,动态的去感知集群中 k8s有多种类型的ingress-controller,这里用到的是官方的controller:https://github.com/kubernetes/ingress-nginx 部署 ingress

    2.1K10发布于 2021-04-06
  • 来自专栏网管叨bi叨

    在K8S上的Web服务该怎么做域名解析呢?

    在Service前面加上Ingress,集群中需要有Ingress-Controller才行。 要使用Ingress,那么集群里就得先有个Ingress-Controller,我们先来安装一个Nginx-Ingress-Controller (其本质上就是一个Nginx Server): kubectl 一般会在集群里单独出几台Node,只用来跑Ingress-Controller,可以使用deamonSet的让节点创建时就安装上Ingress-Controller,在这些Node上层再做一层负载均衡,

    3.5K40发布于 2021-09-24
  • 来自专栏响应式编程

    Kubernetes Ingresses (1)

    ingress.k8s.aws/alb IngressClassParams.elbv2.k8s.aws/alb 20dnginx nginx.org/ingress-controller kind: IngressClass metadata: name: external-lb spec: controller: example.com/ingress-controller IngressClass的定义中,就是字段 `spec.controller` 的值一个是Kubernets社区版的 `k8s.io/ingress-nginx`, 一个是nginx开源版的 `nginx.org/ingress-controller ingress.k8s.aws/alb IngressClassParams.elbv2.k8s.aws/alb 20d nginx nginx.org/ingress-controller

    41730编辑于 2023-08-28
  • 来自专栏Kubernetes

    Kubernetes Nginx Ingress Controller源码分析

    . // 创建目录 "/ingress-controller/ssl", 用于保存Ingress中定义的SSL certificates,文件名格式为<namespace>-<secret name 创建目录 "/ingress-controller/ssl", 用于保存Ingress中定义的SSL certificates,文件名格式为<namespace>-<secret name>.pem 构造 ic.syncQueue.Enqueue(cur) // 将Ingress中定义的Secret同步更新到对应的"/ingress-controller/ssl/<namespace>-<secret 将Ingress中定义的Secret同步更新到对应的"/ingress-controller/ssl/<namespace>-<secret name>.pem"中。 更新ic.runningConfig 从前面的代码分析,可得出以下情况会调用ic.syncSecret将secret内容更新到对应的"/ingress-controller/ssl/<namespace

    1.6K100发布于 2018-04-16
  • 来自专栏CSDN搜“看,未来”

    k8s 实践经验(七)ingress 详解

    myapp-backend-pod-67f6f6b4dc-xzxbj 1/1 Running 0 7m 3、部署ingress-nginx service 通过ingress-controller 对外提供服务,现在还需要手动给ingress-controller建立一个service,接收集群外部流量。 方法如下: (1)下载ingress-controller的yaml文件 [root@k8s-master ingress]# wget https://raw.githubusercontent.com 相关的YAML文件,并给Ingress-controller创建独立的名称空间; ②部署后端的服务,如myapp,并通过service进行暴露; ③部署Ingress-controller的service ,以实现接入集群外部流量; ④部署Ingress,进行定义规则,使Ingress-controller和后端服务的Pod组进行关联。

    2.7K21编辑于 2022-05-09
领券