4 PromQL 语句 Prometheus 提供一个函数式的表达式语言 PromQL (Prometheus Query Language),可以使用户实时地查找和聚合时间序列数据,表达式计算结果可以在图表中展示,也可以在 Prometheus 表达式浏览器中以表格形式展示,或者作为数据源, 以 HTTP API 的方式提供给外部系统使用如 gr…
[TOC] 1 istio 原理介绍和部署 1.1 什么是 serviceMesh 提到Service Mesh,就不得不提微服务。 根据维基百科的定义: 微服务(Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块(Small Building Blocks)为基础,利用模块化的方式组合出复杂的大型应用程序,各…
14 K8S 网络 https://kubernetes.io/zh/docs/concepts/cluster-administration/networking/ 在 K8S 中网络非常安全,因为涉及到 pod 的各种通讯 容器网络的目的: 1.实现同一个 pod 中的不同容器通信(LNMP),一个 pod 中的容器共用底层的网络组件 2.实现…
13 K8S 资源限制 CPU 以核心为单位 memory 以字节为单位 requests 为 kubernetes scheduler 执行 pod 调度时 node 节点至少需要拥有的资源,如果匹配到该节点的可用资源符合 requests 的预取,就会将 pod 调度到该节点 limits 为 pod 运行成功后最多可以使用的资源上限。 kub…
[TOC] 11 K8S pod 实现代码升级和回滚 11.1 传统架构代码升级 传统情况下一般在虚拟机进行代码升级与回滚,在公司内部都会采用 gitlab ,gitlab 主要是让开发将代码提交,所以这个 gitlab 的安全一定要做好,别到时候代码丢了也不能泄露。 有了 gitlab 之后我们做代码部署一般使用 Jenkins,有了 Jenki…
10 HPA 自动伸缩控制器 kubectl autoscale 自动控制在k8s集群中运行的 pod 数量(水平自动伸缩),需要提前设置 pod 范围及触发条件。 k8s 从1.1 版本开始增加了名称为 HPA(Horizontal Pod Autoscaler) 的控制器,用于实现基于 pod 中资源(CPU/Memory) 利用率进行对 po…
9 ingress 实现 7 层代理 Ingress Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源上定义的规则控制。 下面是一个将所有流量都发送到同一 Service 的简单 Ingress 示例: 可以将 Ingress 配置为服务提供外部可访问的 URL、负载均衡流量、终止 …
8 K8S 运行 dubbo + zookeeper 微服务案例 微服务的话最需要的地方就是注册中心,也就是 K8S 中跑的服务会有很多个,然后对应的服务起来之后就会注册到 zookeeper 这种注册中心,然后服务之间内部调用 这个就够就是在 K8S 中先启注册中心,这里我使用的是 zookeeper ,然后服务采用的是生产者消费者模型由开发定义…
7 K8S 实现 nginx + php + wordpress + mysql 实现完全容器化的 web 站点案例 项目地址:https://github.com/As9530272755/k8sOfLNMP 这里的数据库则采用的是:K8S 实战系列: MySQL 主从 而 nginx 和 php 镜像则需要通过自己构建,word press 的…
6 运行 java 类服务-jenkins 完整项目地址:https://github.com/As9530272755/k8sOfJenkins 一般这类服务都是通过 java-jar 直接起来,但是开发一般会写一个 start.sh 的脚本,这个脚本中就会自带 java-jar 然后通过参数将服务跑起来 基于 java 命令,运行 java w…