草庐IT

kubernetes-ingress

全部标签

Kubernetes 中的服务注册与发现原理分析

对k8s有点了解技术人员,应该都只知道k8s是有服务注册发现的,今天就分析下这个原理,看看怎么实现的。什么是服务注册与发现服务注册与发现是一种机制,用于在集群中动态地发现和连接不同的服务,比如我们在开发微服务时,经常使用的Eureka、Nacos等ServiceB把自己注册到ServiceRegistry叫做服务注册ServiceA从ServiceRegistry发现ServiceB的节点信息叫做服务发现K8s中为什么需要服务发现动态性在K8s集群中,Pod和服务的数量和位置都是动态变化的,Pod有可能伸缩、重新部署或迁移,在这样的环境下,如果硬编码的服务地址是不可行的,所以服务注册与发现使得

Kubernetes——资源配额

文章目录Pod资源配额最小资源配额最大资源配额全局资源配额默认配额策略资源配额范围基于Pod的资源配额全局quota配额基于总数量配额Pod资源配额为什么要资源配额?当多个应用共享固定节点数目的集群时,人们会担心某些应用过度使用资源,从而影响到其他的服务,我们需要设定一些规则,用来保证应用能获得其运行所需的合理资源CPU资源类型CPU资源的约束和请求以毫核(m)为单位。在k8s中1m是最小的调度单位,CPU的一个核心可以看作1000m假如你有2颗CPU,且每个CPU为4核心,那么你的CPU资源总量就是8000m内存资源类型memory的约束个请求以字节为单位可以使用以下单位表示内存:E、P、T

Kubernetes 中的服务注册与发现原理分析

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。对k8s有点了解技术人员,应该都只知道k8s是有服务注册发现的,今天就分析下这个原理,看看怎么实现的。什么是服务注册与发现服务注册与发现是一种机制,用于在集群中动态地发现和连接不同的服务,比如我们在开发微服务时,经常使用的Eureka、Nacos等ServiceB把自己注册到ServiceRegistry叫做服务注册ServiceA从ServiceRegistry发现ServiceB的节点信息叫做服务发现K8s中为什么需要服务发现动态性在K8s集群中,Pod和服务的数量和位置都是动态变化的,Pod有可能伸缩、重新部署或

优秀Kubernetes工具的完整指南

译者|李睿审校|重楼在容器化应用程序编排方面,Kubernetes是市场的领导者。它允许用户在多主机环境中管理容器,提供工作负载分配和网络处理。此外,它还提供了许多在DevOps过程中至关重要的特性,例如自动扩展、自动修复和负载平衡。这些功能解释了Kubernetes是大多数软件工程师首选解决方案的原因。然而,人们也普遍认为管理Kubernetes是一项艰巨的任务。值得庆幸的是,有一些Kubernetes工具可以帮助用户实现流程的自动化,以确保其部署和工作流得到优化。本文探讨了各种Kubernetes监控工具,包括专有的和开源的工具,它们可以帮助用户最大限度地利用软件开发项目。优秀的Kuber

Kubernetes 漫游:Kube-Scheduler

概述什么是kube-scheduler?Kubernetes 集群的核心组件之一,它负责为新创建的Pods分配节点。它根据多种因素进行决策,包括:1. 资源需求和限制:考虑每个Pod请求的资源量(如CPU和内存)以及节点上可用的资源。2. 亲和性和反亲和性规则:根据Pod的亲和性设置选择最适合的节点。3. 健康检查:确保选择的节点健康且能够运行Pod。4. 负载均衡:尽量平衡集群中各个节点的负载。使用limits和reuqests在部署对象中的spec中常常会见到关于 limits 和 requests 的声明,例如:apiVersion:apps/v1kind:Deploymentmetad

Kubernetes 漫游:kube-scheduler

概述什么是kube-scheduler?Kubernetes集群的核心组件之一,它负责为新创建的Pods分配节点。它根据多种因素进行决策,包括:资源需求和限制:考虑每个Pod请求的资源量(如CPU和内存)以及节点上可用的资源。亲和性和反亲和性规则:根据Pod的亲和性设置选择最适合的节点。健康检查:确保选择的节点健康且能够运行Pod。负载均衡:尽量平衡集群中各个节点的负载。使用limits和reuqests在部署对象中的spec中常常会见到关于limits和requests的声明,例如:apiVersion:apps/v1kind:Deploymentmetadata:name:nginx-de

【k8s】ingress-nginx通过header路由到不同后端

K8S中ingress-nginx通过header路由到不同后端背景公司使用ingress-nginx作为网关的项目,需要在相同域名、uri,根据header将请求转发到不同的后端中在稳定发布的情况下,ingress-nginx是没有语法直接支持根据header做转发的。但是这个可以利用灰度发布的特性实现header路由功能准备准备两个后端,后端代码如下,路由均为/appmain.gopackagemainimport"github.com/gin-gonic/gin"funcmain(){ r:=gin.Default() r.GET("/app",func(context*gin.Cont

【Kubernetes】k8s入门及使用(从零开始做实例)

目录1.需求分析1.1选择安装方式1.2集群的架构1.3实验环境2.详细安装步骤(每台机器都要做!)2.1准备好三台虚拟机2.2关闭selinux和firewalld2.3安装Docker2.4配置Docker使用systemd作为默认Cgroup驱动2.5关闭swap分区2.6修改hosts文件2.7修改内核参数2.8安装kubeadm,kubelet和kubectl2.8.1添加kubernetesYUM软件源2.8.2安装并指定版本2.8.3设置开机自启3.部署KubernetesMaster3.1准备coredns:1.8.4的镜像3.2初始化4.node节点部署5.安装网络插件fla

容器运维必须知道的十个Kubernetes(K8s)集群常用API资源对象

Kubernetes(简称K8s)是一个开源的容器编排平台,用于自动化容器化应用程序的部署、扩展和操作。在Kubernetes中,有许多不同类型的资源对象,每个对象都有特定的用途和工作原理。1.Pod概念:Pod是Kubernetes中的最小部署单元,通常包含一个或多个容器。Pod共享相同的网络命名空间和存储,它们在同一主机上启动,可以轻松地通信。作用:Pod用于托管应用程序容器。它们提供了一个独立的环境,使容器可以运行在相同的上下文中,共享资源。工作原理:Pod可以包含一个或多个容器,它们共享相同的IP地址和端口空间。Pod的生命周期由容器的生命周期控制。如果Pod中的容器失败,Kubern

ingress-http部署error: resource mapping not found for name...no matches for kind “Ingress“ in version

根据一些参考文档,学习部署ingress-http服务,出现了一些error信息,网上难找直接的处理方式,最后才发现是资源清单使用问题,还是得看官方文档说明。创建ingress-http.yaml使用的基本yaml配置如下——#文件名称:ingress-http.yamlapiVersion:extensions/v1beta1kind:Ingressmetadata:name:ingress-httpnamespace:devspec:rules:-host:nginx.itheima.comhttp:paths:-path:/backend:serviceName:nginx-servic