基于jenkins的CI/CD设计和发布流程 一、发布流程设计 拉取代码;; 编译,java微服务多数为jar包; 把jar包按照业务逻辑copy到基础镜像中; 部署到K8S平台,编写yaml文件; 暴露服务; mark 二、准备基础环境 K8S(Ingress Controller,CoreDNS,PV自动供给) Helm V3 Gitlab Harbor,并存储Chart存储功能 MYSQL 2020-01-06 K8S Kubernetes
K8S中微服务踩坑分享 一、资源限制 我们先来谈下 “资源限制”: 我们线上目前多数为java应用,java应用对于K8S来说,资源限制特别重要,如果不做资源限制,会影响整个宿主机,然后整个宿主机资源不够会实现飘移,会转移到其他主机上,然后再异常,可能会起到一种雪崩的效应。 通常我们会通过如下设置进行对容器的资源限制,但是通常对于java应用来说这个是和jvm中设置的是不搭嘎的,且docker容器也抓不到j 2020-01-05 K8S K8S Kubernetes
K8S中微服务链路监控系统 一、全链路监控 1.1、全链路监控是什么 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。这些服务可能不同编程语言开发,不同团队开发,可能部署很多副本。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。全链路监控组件就在这样的问题背景下产生了。 全链路性能监控从整体维度到局部维度展示各项指标,将跨应用的 2020-01-04 K8S K8S Kubernetes
动态PV, PVC在K8S的工作流程 整个过程: mark 1)集群管理员预先创建存储类(StorageClass); 2)用户创建使用存储类的持久化存储声明(PVC:PersistentVolumeClaim); 3)存储持久化声明通知系统,它需要一个持久化存储(PV: PersistentVolume); 4)系统读取存储类的信息; 5)系统基于存储类的信息,在后台自动创建PVC需要的PV; 6)用户创 2020-01-03 K8S Kubernetes
K8S中部署SpringCloud微服务项目 一、熟悉SpringCloud项目 1.1、主机分配 主机IP 角色 192.168.171.11 k8s-master 192.168.171.12 k8s-node1 192.168.171.13 k8s-node2 192.168.171.10 harbor-mysql 1.2、代码分支详情: De 2020-01-02 K8S K8S Kubernetes
从运维角度看微服务架构 一、引言 微服务架构是一项在云中部署应用和服务的新技术。 1.1、微服务是什么? 微服务是一种软件设计风格,开发人员在开发项目时,是一种微服务这种标准去设计的,这种的设计风格是一种将单体的应用,拆分为多个小的组件去开发,那每个组件是独立的部署,独立的测试,服务之间采用轻量级的通信。 1.2、微服务的特点 服务的组件化 每个服务独立开发、部署、有效避免一个服务的修改引起整 2020-01-01 K8S K8S Kubernetes
七、Ceph日常运维管理 一、集群监控管理 集群整体运行状态 [root@cephnode01 ~]# ceph -s cluster: id: 8230a918-a0de-4784-9ab8-cd2a2b8671d0 health: HEALTH_WARN application not enabled on 1 pool(s) services: mo 2019-12-29 K8S, ceph K8S
六、K8S 使用Ceph存储 一、PV、PVC概述 管理存储是管理计算的一个明显问题。PersistentVolume子系统为用户和管理员提供了一个API,用于抽象如何根据消费方式提供存储的详细信息。于是引入了两个新的API资源:PersistentVolume和PersistentVolumeClaim >PersistentVolume(PV)是集群中已由管理员配置的一段网络存储。 集群中的资源就像一个节点是一 2019-12-28 K8S, ceph K8S
五、Promethus+Grafana监控Ceph(2) 一、安装grafana 1、配置yum源文件 # vim /etc/yum.repos.d/grafana.repo [grafana] name=grafana baseurl=https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm repo_gpgcheck=0 enabled=1 gpgcheck=0 2.通过yum命令安装grafana 2019-12-27 K8S, ceph K8S
五、Ceph Dashboard(1) 一、Ceph Dashboard介绍 Ceph 的监控可视化界面方案很多----grafana、Kraken。但是从Luminous开始,Ceph 提供了原生的Dashboard功能,通过Dashboard可以获取Ceph集群的各种基本状态信息。 mimic版 (nautilus版) dashboard 安装。如果是 (nautilus版) 需要安装 ceph-mgr-dashboard 2019-12-26 K8S, ceph K8S
四、Ceph 文件系统 CephFS 的介绍与配置 一、CephFs介绍 Ceph File System (CephFS) 是与 POSIX 标准兼容的文件系统, 能够提供对 Ceph 存储集群上的文件访问. Jewel 版本 (10.2.0) 是第一个包含稳定 CephFS 的 Ceph 版本. CephFS 需要至少一个元数据服务器 (Metadata Server - MDS) daemon (ceph-mds) 运行, MDS 2019-12-26 K8S, ceph K8S
三、Ceph RBD介绍与使用 一、RBD介绍 RBD即RADOS Block Device的简称,RBD块存储是最稳定且最常用的存储类型。RBD块设备类似磁盘可以被挂载。 RBD块设备具有快照、多副本、克隆和一致性等特性,数据以条带化的方式存储在Ceph集群的多个OSD中。如下是对Ceph RBD的理解。 - RBD 就是 Ceph 里的块设备,一个 4T 的块设备的功能和一个 4T 的 SATA 类似,挂载的 2019-12-25 K8S, ceph K8S
二、部署Ceph集群 一、Ceph版本选择 Ceph版本来源介绍 Ceph 社区最新版本是 14,而 Ceph 12 是市面用的最广的稳定版本。 第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 月。多年来,版本号方案一直没变,直到 2015 年 4 月 0.94.1 ( Hammer 的第一个修正版)发布后,为了避免 0.99 (以及 0.100 或 1.00 ?),制定了新策略。 x.0 2019-12-24 K8S, ceph K8S
一、Ceph介绍 为什么要用Ceph Ceph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,同时提供块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs),Ceph在存储的时候充分利用存储节点的计算能力,在存储每一个数据时都会通过计算得出该数据的位置,尽量的分布均衡。。目前也是OpenStack的主流后端存储,随着OpenStack在云计算领域的广泛使用, 2019-12-23 K8S, ceph K8S
Flannel网络组件实践(vxlan、host-gw) Kubernetes网络组件之 Flannel Flannel是CoreOS维护的一个网络组件,Flannel为每个Pod提供全局唯一的IP,Flannel使用ETCD来存储Pod子网与Node IP之间的关系。flanneld守护进程在每台主机上运行,并负责维护ETCD信息和路由数据包。 1、Flannel 部署 https://github.com/coreos/flannel ku 2019-12-22 K8S K8S Kubernetes
K8S集群网络生产级探究 K8S集群网络 网络基础知识 1、公司网络架构 mark 路由器:网络出口 核心层:主要完成数据高效转发、链路备份等 汇聚层:网络策略、安全、工作站交换机的接入、VLAN之间通信等功能 接入层:工作站的接入 1、一个局域网内主机A(10)和主机B(20)之间通讯流程: 网段:192.168.31.0/24 源IP和目的IP均在同一子网下。 四元组:源IP 源MA 2019-12-22 K8S K8S Kubernetes
Calico网络组件实践(BGP、RR、IPIP) Kubernetes网络方案之 Calico Calico是一个纯三层的数据中心网络方案,Calico支持广泛的平台,包括Kubernetes、OpenStack等。 Calico 在每一个计算节点利用 Linux Kernel 实现了一个高效的虚拟路由器( vRouter) 来负责数据转发,而每个 vRouter 通过 BGP 协议负责把自己上运行的 workload 的路由信息向整个 2019-12-22 K8S K8S Kubernetes
K8s Ingress Nginx使用 案例1(基本转发,https配置与annotations基础使用) apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress namespace: test annotations: kubernetes.io/ingress.class: "nginx" nginx. 2019-12-18 K8S K8S Kubernetes
k8s二进制安装环境下证书过期问题 k8s配置信息的工作目录一般为/etc/kubernetes,证书目录一般为/etc/kubernetes/ssl 一、重新生成证书 当你的kubernetes报错:certificate has expired or is not yet valid,可以通过命令:openssl x509 -in [证书全路径] -noout -text查看证书详情。 1、备份 [root@zhdy 2019-12-17 K8S K8S Kubernetes
Helm应用包管理器(上) 三、Helm应用包管理器 3.1 为什么需要Helm? K8S上的应用对象,都是由特定的资源描述组成,包括deployment、service等。都保存各自文件中或者集中写到一个配置文件。然后kubectl apply –f 部署。 如果应用只由一个或几个这样的服务组成,上面部署方式足够了。 而对于一个复杂的应用,会有很多类似上面的资源描述文件,例如微服务架构应用,组成应用的服务可能 2019-12-16 K8S K8S Kubernetes