etcd

linux下安装使用etcd

匿名 (未验证) 提交于 2019-12-02 21:59:42
一、简介 : API (gRPC) TLS : 10000 : Raft etcd Go Raft 二、安装 1.方法1 $curl -L https://github.com/coreos/etcd/releases/download/v3.3.2/etcd-v3.3.2-linux-amd64.tar.gz -o etcd-v3.3.2-linux-amd64.tar.gz #解压后是一些文档和两个二进制文件etcd和etcdctl。etcd是server端,etcdctl是客户端。 $tar zxf etcd-v3.3.2-linux-amd64.tar.gz #将解压后的etcd和etcdctl移动到$GOPATH/bin目录下,可以直接使用etcd和etcdctl命令 $mv etcd-v3.3.2-linux-amd64/etcd* /$GOPATH/bin 2. 2 $ mkdir -p $GOPATH/src/github.com/coreos $ cd !$ $ git clone https://github.com/coreos/etcd.git $ cd etcd $ ./build $ ./bin/etcd 三、启动 $ ./etcd (或直接使用etcd) etcd localhost:2379 etcdctl # API 3 $ export

安装etcd集群

匿名 (未验证) 提交于 2019-12-02 21:53:52
kuberntes 系统使用 etcd 存储所有数据,是最重要的组件之一,注意 etcd集群只能有奇数个节点(1,3,5...),本文档使用3个节点做集群。 etcd下载地址: https://github.com/coreos/etcd/releases { "CN": "etcd", "hosts": [ "127.0.0.1", "192.168.1.11", "192.168.1.12", "192.168.1.13", "etcd1", "etcd2", "etcd3" ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing", "O": "Ctyun", "OU": "ops" } ] } hosts :定授权使用该证书的 etcd 节点 IP(应包含集群内所有节点的IP与hostname) C :国家 ST :省份 L :城市 O :公司 OU :部门 CA证书在前面的章节创建 Kubernetes证书相关(CFSSL) cfssl gencert -ca=/opt/ssl/k8sca/ca.pem \ -ca-key=/opt/ssl/k8sca/ca-key.pem \ -config=/opt/ssl/k8sca/ca

Kubernetes证书相关(CFSSL)

匿名 (未验证) 提交于 2019-12-02 21:53:52
CFSSL是CloudFlare开源的一款PKI/TLS工具。 CFSSL 包含一个命令行工具 和一个用于 签名,验证并且捆绑TLS证书的 HTTP API 服务。 使用Go语言编写。 Github 地址: https://github.com/cloudflare/cfssl 官网地址: https://pkg.cfssl.org/ 参考地址: liuzhengwei521 curl -s -L -o /bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 curl -s -L -o /bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 curl -s -L -o /bin/cfssl-certinfo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 chmod +x /bin/cfssl* client certificate : 用于服务端认证客户端,例如etcdctl、etcd proxy、fleetctl、docker客户端 server certificate : 服务端使用,客户端以此验证服务端身份,例如docker服务端、kube-apiserver peer

简易搭建swarm+etcd+docker

て烟熏妆下的殇ゞ 提交于 2019-12-02 21:10:39
概述 docker swarm是docker原生的集群管理工具,etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。本文就swarm、etcd和docker搭建一个简易的swarm+etcd+docker系统。希望能帮助新人对它们有一个直观的认知和了解。 基本架构 基本架构请参考官网 实验过程 机器分配 IP 角色 192.168.0.109 Client 192.168.0.201 etcd 192.168.0.202 docker host1 192.168.0.203 docker host2 192.168.0.204 swarm管理机 结构图 说明: 1、etcd是可以集群的,而且集群中的任何一个节点都可读写,具体的可以自己去实验,这里为了简化整个结构,etcd使用了一台 2、本次实验中的swarm并不是使用官网的镜像,而是源码编译安装在物理机上的 3、swarm管理机和所有的docker host主机都需要安装swarm。管理节点运行swarm manage命令,docker host主机运行swarm join命令 etcd单机启动 etcd --name etcd0 --initial-advertise-peer-urls http://192.168.0.201:2380 \ --listen-peer-urls http://192.168.0

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

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

zookeeper,及k8s基础概念

一曲冷凌霜 提交于 2019-12-02 18:34:12
1、描述zookeeper集群中leader,follower,observer几种角色 Zookeeper: 分布式系统:是一个硬件或软件组件分布在网络中的不同的计算机之上,彼此间仅通过消息传递进行通信和协作的系统。 特征: 分布性、对等性、并发性、缺乏全局时钟、故障必然会发生 典型问题: 通信异常、网络分区、三态(成功、失败、超时)、节点故障 zookeeper是一个开源的分面式协调服务,由知名互联网公司Yahoo创建,它是Chubby的开源实现;换句话讲,zk是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于它实现数据的发布/订阅、负载均衡、名称服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列; 基本概念: 集群角色:Leader, Follower, Observer Leader:选举产生,读/写; Follower:参与选举,可被选举,读服务; Observer:参与选举,不可被选举,提供读服务; 会话:ZK中,客户端<-->服务端,TCP长连接; sessionTimeout 数据节点(ZNode):即zk数据模型中的数据单元;zk的数据都存储于内存中,数据模型为树状结构(ZNode Tree);每个ZNode都会保存自己的数据于内存中; 持久节点:仅显式删除才消失 临时节点:会话中止即自动消失 版本(version)

ZooKeeper实战与源码剖析

可紊 提交于 2019-12-02 16:57:11
课程目录: 01、课程介绍 02、内容综述 03、什么是ZooKeeper 04、ZooKeeper提供什么服务 05、开始使用ZooKeeper 06、使用ZooKeeper实现Master-Worker协同 07、ZooKeeper架构解析 08、ZooKeeperAPI简介 09、ZooKeeperAPI:Watch示例 10、使用ZooKeeper实现分布式队列 11、使用ZooKeeper实现分布式锁 12、使用ZooKeeper实现选举 13、使用ApacheCurator简化ZooKeeper开发 14、如何安装配置一个ZooKeeper生产环境 15、如何进行ZooKeeper的监控 16、通过ZooKeeperObserver实现跨区域部署 17、通过动态配置实现不中断服务的集群成员变更 18、ZooKeeper节点是如何存储数据的 19、使用ZooKeeper实现服务发现(1) 20、使用ZooKeeper实现服务发现(2) 21、使用ZooKeeper实现服务发现(3) 22、Kafka是如何使用ZooKeeper的 23、什么是Paxos协议 24、比较Chubby和ZooKeeper 25、Raft协议解析 26、什么是etcd 27、etcdAPI(1) 28、etcdAPI(2) 29、使用etcd实现分布式队列 30、使用etcd实现分布式锁 31

使用Prometheus Operator 监控Kubernetes(15)

心不动则不痛 提交于 2019-12-02 16:49:22
一、Prometheus概述:    Prometheus 是一个开源系统监测和警报工具箱。 Prometheus Operator 是 CoreOS 开发的基于 Prometheus 的 Kubernetes 监控方案,也可能是目前功能最全面的开源方案。 主要特征:   1)多维数据模型(时间序列由metri和key/value定义)   2)灵活的查询语言   3)不依赖分布式存储   4)采用 http 协议,使用 pull 拉取数据   5)可以通过push gateway进行时序列数据推送   6)可通过服务发现或静态配置发现目标   7)多种可视化图表及仪表盘支持 Prometheus架构如下:   Prometheus组件包括:Prometheus server、push gateway 、alertmanager、Web UI等。   Prometheus server 定期从数据源拉取数据,然后将数据持久化到磁盘。Prometheus 可以配置 rules,然后定时查询数据,当条件触发的时候,会将 alert 推送到配置的 Alertmanager。Alertmanager 收到警告的时候,可以根据配置,聚合并记录新时间序列,或者生成警报。同时还可以使用其他 API 或者 Grafana 来将收集到的数据进行可视化。 Prometheus Server  

k8s 签发证书

匆匆过客 提交于 2019-12-02 15:39:41
3节点   192.168.52.6  master   192.168.52.7  node1   192.168.52.8  node2     CA 证书签发       /etc/ssl/k8s       git clone git@github.com:he-aook/k8s-certificate-issue-file.git             openssl genrsa -out ca.key 3072       openssl req -x509 -new -key ca.key -days 10950 -out ca.pem -subj "/CN=kubernetes/OU=System/C=CN/ST=Shanghai/L=Shanghai/O=k8s" -config ca.cnf -extensions v3_req               api 证书签发       /etc/ssl/k8s       sed -i '9,10s/^/#/' api-server.cnf       openssl genrsa -out apiserver.key 3072       openssl req -new -key apiserver.key -out apiserver.csr -subj "/CN=kubernetes/OU

etcd安装和简单使用

一世执手 提交于 2019-12-02 14:53:15
etcd作为一个高可用强一致性的服务发现存储仓库,在Kubernetes等开源项目中用的很多,这里简单记录下安装和常用命令以及api 安装 安装包可以从 https://github.com/etcd-io/etcd/releases 选择对应的版本和架构,下载后解压即可,里面有安装包和相关文档,安装和使用其实都可以看这些文档。 为了方便管理弄成了服务,加了一个etcd.service文件 [Unit] Description=Etcd Server After=network.target After=network-online.target Wants=network-online.target [Service] Type=notify WorkingDirectory=/var/lib/etcd/ EnvironmentFile=-/etc/etcd/etcd.conf User=etcd # set GOMAXPROCS to number of processors ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN