原文链接:Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量 在 Kubernetes 中运行大规模以 Web 为中心的工作负载,最关键的需求之一就是在 L7 层实现高效流畅的入口流量管理.自从第一批 Kubernetes Ingress Controller 开发完成以来,Envoy(由 Matt Klein 和 Lyft 团队开发)已经成为云原生生态系统中的新生力量.Envoy 之所以受到支持,因为它是一个 CNCF 托管的项目,与整个容器圈和云原生…
上篇文章介绍了 Contour 分布式架构的工作原理,顺便简单介绍了下 IngressRoute 的使用方式.本文将探讨 IngressRoute 更高级的用法,其中级联功能是重点. 1. IngressRoute 大入门 上篇文章在 examples/example-workload 目录下创建了一个示例应用,我们来回顾一下它的 IngressRoute 配置: apiVersion: contour.heptio.com/v1beta1 kind: IngressRoute metadata…
小伙伴们,好久不见,这几个月实在太忙,所以一直没有更新,今天刚好有空,咱们继续k8s的学习,由于我们后面需要深入学习Pod的调度,所以我们原先使用MiniKube搭建的实验环境就不能满足我们的需求了,我们这一节将使用kubeadm搭建Kubernets集群. 一.虚拟机创建 我们的集群包含三个节点kubevm1.kubevm2.kubevm3,其中kubevm1作为Master 我们首先需要使用Virtualbox创建一个虚拟机,步骤如下: 1.新建虚拟机 我们设置内存2G,硬盘20G,CPU…
0x00 概述 Prometheus 是一个开源和社区驱动的监控&报警&时序数据库的项目.来源于谷歌BorgMon项目.现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控.主要监控: Node:如主机CPU,内存,网络吞吐和带宽占用,磁盘I/O和磁盘使用等指标.node-exporter采集. 容器关键指标:集群中容器的CPU详细状况,内存详细状况,Network,FileSystem和Subcontainer等.通过cadvisor采集. Kubern…
Grafana有一套针对Kubernetes监控的APP,和Grafana-Zabbix App类似,但是配置咋一看比较麻烦,主要参数都是来自K8S. 这款APP的详细介绍请参考Grafana App for Kubernetes #CA Cert cat ~/.kube/config | grep certificate-authority-data | cut -d ' ' -f 6 | base64 -d #Client Cert cat ~/.kube/config | grep cli…
目录 K8S 组件构成 环境准备 (以ubuntu系统为例) 1. kubernetes集群机器 2. 安装 docker. kubeadm.kubelet.kubectl 2.1 在每台机器上安装 docker 2.2 每台机器上安装 kubelet .kubeadm .kubectl 创建 kubernetes 集群 kubeadm 在 master 节点 init 集群 在worker 节点执行命令 join 到集群 安装 Pod Network (在 master 节点 flannel/…
个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提供一个应用的完整功能. 这样的好处是: 开发更方便了.各微服务不再需要关注其他服务内的细节,直接调用 API 就行. 方便持续集成.升级只需要重新部署更新了的微服务,不需要更新整个应用. 方便拓展.遇到性能瓶颈时,只需要拓展瓶颈所在的微服务,不需要拓展整个应用. 当然,这也带来了一些难点: 业务型微…
服务介绍 服务是一种为一组相同功能的pod提供单一不变接入点的资源.当服务存在时,他的IP和端口不会改变.客户端通过IP和端口建立连接,这些连接会被路由到任何一个pod上.如此,客户端不需要知道每个单独提供服务的pod地址,这些pod也可以随时被创建.删除. 与ReplicationController一样,服务通过标签选择器决定管理哪些pod. 准备镜像 首先要准备一个能够提供web服务的镜像,作者将镜像存储到了阿里云的镜像仓库,读者可以跳过构建过程相关过程,直接使用作者构建好的镜像(但是不建…
概述 本文核心问题是:如何升级应用. 对于Pod的更新有两种策略: 一是删除全部旧Pod之后再创建新Pod.好处是,同一时间只会有一个版本的应用存在:缺点是,应用有一段时间不可用. 二是先创建新Pod,再删除旧Pod.可以一次性创建全部,再删除全部,也可以逐渐创建删除.好处是应用一直可用,缺点是要同时支持两个版本. 蓝绿部署 对于应用的版本v1和版本v2: 在运行v1前,流量一直都在v2上 部署v1,然后测试通过后,将流量切换到v2,v2就成为了新的生产环境 一旦v2出现问题,可以在切回v1 金…
前言:笔记知识点来源于Kubernetes官方文档说明,链接:https://kubernetes.io/docs/concepts/overview/components/ ,本记录仅仅是学习笔记记录,也可能存在错误!!! 一个Kubernetes集群是由工作机器集组成,一个工作机器可以称为一个节点node,集群上至少运行一个工作节点.一个节点(node)是运行了容器化应用的机器(实体机或虚拟机).工作节点(node)托管作为应用程序工作的Pods,Pods可以理解是运行一个或多个容器的程序集…