目录 不同类型的IP Pod IP Cluster IP 不同类型的Port port nodePort TargetPort containerPort hostPort Endpoint Endpoint Controller 定义 Endpoint 使用Endpoint引用外部服务 创建ExternalName类型的服务 当新手刚学习k8s时候,会被各种的IP 和port 搞晕,其实它们都与k8s service的访问有密切关系,梳理它们之间的差异可以更好了解k8s的服务访问机制. 不同类…
个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提供一个应用的完整功能. 这样的好处是: 开发更方便了.各微服务不再需要关注其他服务内的细节,直接调用 API 就行. 方便持续集成.升级只需要重新部署更新了的微服务,不需要更新整个应用. 方便拓展.遇到性能瓶颈时,只需要拓展瓶颈所在的微服务,不需要拓展整个应用. 当然,这也带来了一些难点: 业务型微…
概述 本文核心问题是:如何升级应用. 对于Pod的更新有两种策略: 一是删除全部旧Pod之后再创建新Pod.好处是,同一时间只会有一个版本的应用存在:缺点是,应用有一段时间不可用. 二是先创建新Pod,再删除旧Pod.可以一次性创建全部,再删除全部,也可以逐渐创建删除.好处是应用一直可用,缺点是要同时支持两个版本. 蓝绿部署 对于应用的版本v1和版本v2: 在运行v1前,流量一直都在v2上 部署v1,然后测试通过后,将流量切换到v2,v2就成为了新的生产环境 一旦v2出现问题,可以在切回v1 金…
openresty 学习笔记五:访问RabbitMQ消息队列 之前通过比较选择,决定采用RabbitMQ这种消息队列来做中间件,目的舒缓是为了让整个架构的瓶颈环节.这里是做具体实施,用lua访问RabbitMQ消息队列. RabbitMQ消息队列有几个比较重要的概念:生产者Producer,消费者Consumer,交换器Exchanges,队列Queues 我的简单理解生产者,发布消息入队的用户.消费者,订阅队列获取消息的用户.交换器,消息可以不指定某个具体队列,而是发送给交换器,通过不同类型交…
服务介绍 服务是一种为一组相同功能的pod提供单一不变接入点的资源.当服务存在时,他的IP和端口不会改变.客户端通过IP和端口建立连接,这些连接会被路由到任何一个pod上.如此,客户端不需要知道每个单独提供服务的pod地址,这些pod也可以随时被创建.删除. 与ReplicationController一样,服务通过标签选择器决定管理哪些pod. 准备镜像 首先要准备一个能够提供web服务的镜像,作者将镜像存储到了阿里云的镜像仓库,读者可以跳过构建过程相关过程,直接使用作者构建好的镜像(但是不建…
https://www.bilibili.com/video/BV1w4411y7Go?p=1 一.K8s介绍 k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈. 1.1 发展经历 基础设施级服务 iaas :阿里云 平台设施级服务 paas :新浪云 软件设施级服务 saas :Office365 资源管理器: 前生: Apache:MESOS - 分布式系统内核 .分布式资源管…
docker实现了更便捷的单机容器虚拟化的管理, docker的位置处于操作系统层与应用层之间; 相对传统虚拟化(KVM,XEN): docker可以更加灵活的去实现一些应用层功能, 同时对资源的利用率也更高 相对应用: docker可以把应用更操作系统(镜像)做更好的结合, 降低部署与维护的的成本 处于这样一个位置在单机使用docker进行业务部署是可以感觉到质的提升; 但是针对跨机器, 大规模, 需要对业务质量进行保证的时候, docker本身又有些不足, 而传统的运维自动化工具无论是在do…
一.Ingress 简介 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的.为了使外部的应用能够访问集群内的服务,在Kubernetes 目前 提供了以下几种方案: NodePort LoadBalancer Ingress Ingress 组成 ingress controller 将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务 将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的…
前言:笔记知识点来源于Kubernetes官方文档说明,链接:https://kubernetes.io/docs/concepts/overview/components/ ,本记录仅仅是学习笔记记录,也可能存在错误!!! 一个Kubernetes集群是由工作机器集组成,一个工作机器可以称为一个节点node,集群上至少运行一个工作节点.一个节点(node)是运行了容器化应用的机器(实体机或虚拟机).工作节点(node)托管作为应用程序工作的Pods,Pods可以理解是运行一个或多个容器的程序集…
第一章.RBAC介绍 在Kubernetes中,授权有ABAC(基于属性的访问控制).RBAC(基于角色的访问控制).Webhook.Node.AlwaysDeny(一直拒绝)和AlwaysAllow(一直允许)这6种模式.从1.6版本起,Kubernetes 默认启用RBAC访问控制策略.从1.8开始,RBAC已作为稳定的功能.通过设置–authorization-mode=RBAC,启用RABC.在RABC API中,通过如下的步骤进行授权:)定义角色:在定义角色时会指定此角色对于资源的访问…