etcd

Prometheus Operator 监控Kubernetes

余生颓废 提交于 2019-11-30 06:16:32
Prometheus Operator 监控Kubernetes 1. Prometheus 的基本架构 ​ Prometheus 是一个开源的完整监控解决方案,涵盖数据采集、查询、告警、展示整个监控流程,下图是 Prometheus 的架构图 : 官方文档: https://prometheus.io/docs/introduction/overview/ 2. 组件说明 Prometheus 生态系统由多个组件组成。其中许多组件都是可选的 Promethus server 必须安装,本质是一个时序数据库,主要负责数据 pull 、存储、分析,提供 PromQL 查询语言的支持; Push Gateway 非必选项,支持临时性 Job 主动推送指标的中间网关 exporters 部署在客户端的 agent, 如 node_exporte, mysql_exporter 等 提供被监控组件信息的 HTTP 接口被叫做 exporter ,目前互联网公司常用的组件大部分都有 exporter 可以直接使用,比如 Varnish 、 Haproxy 、 Nginx 、 MySQL 、 Linux 系统信息 ( 包括磁盘、内存、 CPU 、网络等等 ) ;如: https://prometheus.io/docs/instrumenting/exporters/ alertmanager

安装kubernetes 集群

淺唱寂寞╮ 提交于 2019-11-30 04:19:31
使用 kubeasz 安装 kubernetes 集群 kubeasz github https://github.com/easzlab/kubeasz 配置:4核心 8GB内存(仅master角色2G内存也行) 系统:CentOS-7.6 1810 Minimal 注意: 1.开始安装前确保系统时间正常 2.所有命令只需要在部署节点(192.168.2.71)执行 3.只需要更改 配置变量中的 SERVER_NAM SERVER_IP 变量 与 /etc/ansible/hosts 配置文件 其他参数均以变量方式自动识别 角色信息: etcd: 192.168.2.71 192.168.2.72 192.168.2.73 kube-master: 192.168.2.71 192.168.2.72 kube-node: 192.168.2.72 192.168.2.73 192.168.2.74 chrony: 192.168.2.71 配置变量 # 替换变量值为实际IP地址 注意主机名与IP个数对应 以空格分隔 SERVER_NAME=(node01 node02 node03 node04) SERVER_IP=(192.168.2.71 192.168.2.72 192.168.2.73 192.168.2.74) 设置本地Host解析 # 清理 hosts(只保留2行

aa

六眼飞鱼酱① 提交于 2019-11-30 04:17:59
https://blog.csdn.net/god_wot/article/details/77854093 ETCD集群安装配置及简单应用 一、环境准备 CentOS Linux release 7.3.1611 (Core) etcd-v3.2.6 二、ETCD下载 https://github.com/coreos/etcd/releases/download/v3.2.6/etcd-v3.2.6-linux-amd64.tar.gz 三、ETCD安装配置 1.部署架构 172.16.92.254 节点1 172.16.92.255 节点2 2.解压安装: $ tar -zxvf etcd-v3.2.6-linux-amd64.tar.gz $ mv etcd-v3.2.6-linux-amd64 etcd-v3.2.6 # 创建etcd配置文件目录 $ mkdir -p /opt/etcd $ mv etcd-v3.2.6 /opt/etcd 3.创建etcd配置文件: $ vim /etc/etcd/conf.yml 节点1,添加如下内容: vim /etc/etcd/etcd.conf #etcd数据保存目录 ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #供外部客户端使用的url ETCD_LISTEN_CLIENT_URLS=

降低 80% 的读写响应延迟!我们测评了 etcd 3.4 新特性(内含读写发展史)

你说的曾经没有我的故事 提交于 2019-11-30 03:48:10
作者 | 陈洁(墨封) 阿里云开发工程师 **导读:**etcd 作为 K8s 集群中的存储组件,读写性能方面会受到很多压力,而 etcd 3.4 中的新特性将有效缓解压力,本文将从 etcd 数据读写机制的发展历史着手,深入解读 etcd 3.4 新特性。 背景 etcd 是 Kubernetes 集群中存储元数据,保证分布式一致性的组件,它的性能往往影响着整个集群的响应时间。而在 K8s 的使用中,我们发现除了日常的读写压力外,还存在某些特殊的场景会对 etcd 造成巨大的压力,比如 K8s 下 apiserver 组件重启或是其他组件绕过 apiserver cache 直接查询 etcd 最新数据的情况时,etcd 会收到大量的 expensive read(后文会介绍该概念)请求,这对 etcd 读写会造成巨大的压力。更为严重的是,如果客户端中存在失败重试逻辑或客户端数目较多,会产生大量这样的请求,严重情况可能造成 etcd crash。 etcd 3.4 中增加了一个名为“Fully Concurrent Read”的特性,较大程度上解决了上述的问题。在这篇文章中我们将重点解读它。本篇文章首先回顾 etcd 数据读写机制发展的历史,之后剖析为何这个特性能大幅提升 expensive read 场景下 etcd 的读写性能,最后通过真实实验验证该特性的效果。 etcd

从零开始入门 K8s| 阿里技术专家详解 K8s 核心概念

你。 提交于 2019-11-30 03:09:45
作者| 阿里巴巴资深技术专家、CNCF 9个 TCO 之一 李响 一、什么是 Kubernetes Kubernetes,从官方网站上可以看到,它是一个工业级的容器编排平台。Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。在一些常见的资料中也会看到“ks”这个词,也就是“K8s”,它是通过将 8 个字母“ubernete ”替换为“8”而导致的一个缩写。 Kubernetes 为什么要用“舵手”来命名呢?大家可以看一下这张图: 这是一艘载着一堆集装箱的轮船,轮船在大海上运着集装箱奔波,把集装箱送到它们该去的地方。我们之前其实介绍过一个概念叫做 container,container 这个英文单词也有另外的一个意思就是“集装箱”。Kubernetes 也就借着这个寓意,希望成为运送集装箱的一个轮船,来帮助我们管理这些集装箱,也就是管理这些容器。 这个就是为什么会选用 Kubernetes 这个词来代表这个项目的原因。更具体一点地来说:Kubernetes 是一个自动化的容器编排平台,它负责应用的部署、应用的弹性以及应用的管理,这些都是基于容器的。 二、Kubernetes 有如下几个核心的功能: 服务的发现与负载的均衡; 容器的自动装箱,我们也会把它叫做 scheduling,就是“调度”,把一个容器放到一个集群的某一个机器上,Kubernetes

PostgreSQL-11.3+etcd+patroni构建高可用数据库集群

你离开我真会死。 提交于 2019-11-29 23:49:21
1 摘要 使用Etcd和Patroni可以构建高可用PostgreSQL集群. Etcd用于Patroni节点之间共享信息. Patroni监控本地的PostgreSQL状态。如果主库(Primary)故障,Patroni把一个从库(Standby)拉起来,作为新的主(Primary)数据库. 如果一个故障PostgreSQL被抢救过来了,能够重新自动或手动加入集群。 1.1 关于 etcd see https://etcd.io/ Etcd按照Raft算法和协议开发的,是一个强一致性的、分布式的key-value数据库。它为分布式系统提供了可靠的数据存储访问机制。 只有一个etcd节点被选做Leader, 其它的etcd节点作为Follower. Etcd里的数据以key标识, 例如可以使用如下数据 key = /service/postgresql/leader value = postgresql1 来表示一个PostgreSQL集群中的主库是'postgresql1'. figure1: an etcd cluster including three etcd nodes =================================================== |---------------| |-------------| |etcd1<follower>

kubernetes-整体概述和架构详解

↘锁芯ラ 提交于 2019-11-29 22:29:27
一、Kubernetes是什么 Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。Kubernetes经过这几年的快速发展,形成了一个大的生态环境,Google在2014年将Kubernetes作为开源项目。Kubernetes的关键特性包括: 自动化装箱 :在不牺牲可用性的条件下,基于容器对资源的要求和约束自动部署容器。同时,为了提高利用率和节省更多资源,将关键和最佳工作量结合在一起。 自愈能力 :当容器失败时,会对容器进行重启;当所部署的Node节点有问题时,会对容器进行重新部署和重新调度;当容器未通过监控检查时,会关闭此容器;直到容器正常运行时,才会对外提供服务。 水平扩容 :通过简单的命令、用户界面或基于CPU的使用情况,能够对应用进行扩容和缩容。 服务发现和负载均衡 :开发者不需要使用额外的服务发现机制,就能够基于Kubernetes进行服务发现和负载均衡。 自动发布和回滚 :Kubernetes能够程序化的发布应用和相关的配置。如果发布有问题,Kubernetes将能够回归发生的变更。

GlusterFS分布式存储指南

天涯浪子 提交于 2019-11-29 19:14:47
GlusterFS是一个开源的分布式存储系统,本指南介绍基于Kubernetes的建立分布式存储的方法和步骤,包括分布式一致性、Kubernetes存储系统架构、高性能文件系统以及GlusterFS的安装、部署、修复等相关内容。 GlusterFS 1.x与2.x系列差别较大,使用中需注意不能混合使用。 GlusterFS原来由Redhat维护,现在随着IBM收购Redhat已经转为IBM所有。 分布式一致性 DHT与分布式一致性 图解 Paxos 一致性协议 区块链技术原理和发展趋势 基于Kubernetes的区块链系统 Kubernetes集群多Master容错配置实战技巧 etcd分布式数据库 Kubernetes的etcd数据查看和迁移 Kubernetes的etcd多节点扩容实战技巧 Kubernetes探秘—etcd状态数据及其备份 Kubernetes探秘-etcd节点和实例扩容 Kubernetes中使用CronJob定时备份etcd集群数据 etcd集群备份和数据恢复 Kubernetes容器存储 基于Kubernetes的容器存储系统 Kubernetes存储之Persistent Volumes简介 Kubernetes volumes简介 文件系统基础存储 ZFS ZFS最佳实践指南 Ubuntu上使用ZFS(Zettabyte File System)

kubeadm搭建高可用kubernetes 1.15.1

∥☆過路亽.° 提交于 2019-11-29 19:12:56
角色 IP 角色 操作系统 备注 192.168.10.210 master CentOS 7 haproxy,keepalived主 192.168.10.211 master CentOS 7 haproxy,keepalived备 192.168.10.212 master CentOS 7 haproxy,keepalived备 192.168.10.213 node CentOS 7 只做节点 主机准备: 1.安装必要软件以及升级所有软件 yum -y install vim-enhanced wget curl net-tools conntrack-tools bind-utils socat ipvsadm ipset yum -y update 2.关闭selinux sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 3.关闭不必要服务 systemctl disable auditd systemctl disable postfix systemctl disable irqbalance systemctl disable

openstack部署篇

一世执手 提交于 2019-11-29 19:11:01
openstack安装部署 本文介绍的是安装rock版本的openstack,最小化安装用到的组件 keystone(认证) glance(镜像) neutron(网络) nova(计算) dashboard(也叫horizon提供web ui服务) 系统版本:CentOS7.4 控制节点地址 计算节点地址 eht0(10.167.130.208)    eth1(192.168.122.8) eth0(10.167.130.209)     eth1(192.168.122.9) 密码名称 描述 数据库密码(未使用变量) 数据库的root密码 ADMIN_PASS 用户密码 admin CINDER_DBPASS 块存储服务的数据库密码 CINDER_PASS Block Storage服务用户的密码 cinder DASH_DBPASS 仪表板的数据库密码 DEMO_PASS 用户密码 demo GLANCE_DBPASS 图像服务的数据库密码 GLANCE_PASS 图像服务用户的密码 glance KEYSTONE_DBPASS 身份服务的数据库密码 METADATA_SECRET 元数据代理的秘密 NEUTRON_DBPASS 网络服务的数据库密码 NEUTRON_PASS 网络服务用户的密码 neutron NOVA_DBPASS 计算服务的数据库密码 NOVA