etcd

采用二进制方式安装K8S集群,版本etcd-v3.3.10,flannel-v0.11.0,kubernetes-server-linux-amd64

烈酒焚心 提交于 2019-12-03 04:54:24
官方提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 官方地址:https://kubernetes.io/docs/setup/minikube/ kubeadm Kubeadm也是一个工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。 官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ 二进制包 从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。 小结: 生产环境中部署Kubernetes集群,只有Kubeadm和二进制包可选,Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。我们这里使用二进制包部署Kubernetes集群,我也是推荐大家使用这种方式,虽然手动部署麻烦点,但学习很多工作原理,更有利于后期维护。 环境介绍 软件环境 软件 版本 操作系统 CentOS 7.6_x64 Docker 18-ce Kubernetes 1.12 服务器角色 角色 IP 组件 master 192.168.75.64 kube-apiserver,kube

etcd基础第一篇

匿名 (未验证) 提交于 2019-12-03 00:41:02
1.1 简介 摘自coreos官网(etcd v3.2.17) https://coreos.com/etcd/docs/latest/ https://coreos.com/etcd/docs/latest/getting-started-with-etcd.html 1.1.1 概念 注意v2的版本对于linux系统默认仓库不再封装。对于最新的去github上下载。 官网中首先介绍什么是etcd A distributed, reliable key-value store for the most critical data of a distributed system 它是一套开源的可靠的分布式存储(即需要做cluster),用于存储key-value 键值对 同时它不仅仅是存储,它还提供共享配置及服务发现(后面这两个特征非常有特点,主要用于container中),对于leader的选举非常优秀,它的leader选举更换对于前端是无感知的。 应用容器读写数据在etcd上,除此还有支持快照及查看历史事件的功能。 下图是官网给出的etcd的功能及特点 etcd is the backend for service discovery and stores cluster state and configuration 1.1.2 数据模型 etcd的数据模型是非常有特点的。

etcd集群搭建

匿名 (未验证) 提交于 2019-12-03 00:40:02
kubermaster1 192.168.4.11 kubermaster2 192.168.4.12 kubermaster3 192.163.4.13 ϵͳ [root@kubermaster1 etcd-v3.2.11-linux-amd64]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 这里部署的etcd集群使用TLS证书对证书通信进行加密,并开启基于CA根证书签名的双向数字证书认证。 cd /usr/local/src wget http://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz tar -xvf go1.9.2.linux-amd64.tar.gz -C /usr/local cat >> /etc/profile << EOF #go的安装路径 export GOROOT=/usr/local/go #go安装的工具路径 export GOPATH=/apps/local/go export PATH=$GOROOT/bin:$PATH EOF source /etc/profile GOPATH和GOROOT不能相同 配置生效 [root@kubermaster2 bin]# go version go

Docker 搭建 etcd 集群配置

匿名 (未验证) 提交于 2019-12-03 00:39:02
#关闭selinux、防火墙 systemctl stop firewalld.service systemctl disable firewalld.service firewall -cmd -- state sed -i ‘ /^SELINUX=.*/c SELINUX=disabled ‘ /etc/selinux/ config sed -i ‘ s/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g ‘ /etc/selinux/ config grep --color=auto ‘ ^SELINUX ‘ /etc/selinux/ config setenforce 0 # 节点node1 docker run -d --name etcd --restart= always -p 2379:2379 -p 2380:2380 kubernetes /etcd:v3.2.4 /usr/local/bin/ etcd -- name node1 --initial-advertise-peer-urls http://172.19.15.92:2380 --listen-peer-urls http://0.0.0.0:2380 --advertise-client-urls http://172.19.15.92:2379 --listen

Etcd源码分析-存储2

匿名 (未验证) 提交于 2019-12-03 00:34:01
一、存储数据结构 Etcd是存储有如下特点: 1、采用kv型数据存储,一般情况下比关系型数据库快。 2、支持动态存储(内存)以及静态存储(磁盘)。 3、分布式存储,可集成为多节点集群。 4、存储方式,采用类似目录结构。 数据结构所在文件:etcd\store\store.go type store struct { Root *node //树根节点 WatcherHub *watcherHub CurrentIndex uint64 Stats *Stats CurrentVersion int ttlKeyHeap *ttlKeyHeap // need to recovery manually worldLock sync.RWMutex // stop the world lock clock clockwork.Clock readonlySet types.Set } 数据存储的顶层数据结构,挂在数据结构EtcdServer下面。其中Root为根节点。 数据结构所在文件:etcd\store\node.go // node is the basic element in the store system. // A key-value pair will have a string value // A directory will have a children

etcd集群部署

匿名 (未验证) 提交于 2019-12-03 00:27:02
转载地址: https://blog.csdn.net/yjk13703623757/article/details/54142242 简介 Etcd是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现。 ● 简单:支持 curl 方式的用户 API (HTTP+JSON) ● 安全:可选 SSL 客户端证书认证 ● 快速:单实例可达每秒1000次写操作 ● 可靠:使用 Raft 实现分布式 环境: node IP OS etcd_version etcd0 10.1.2.61 centos7.0 etcd3.0.14 etcd1 10.1.2.172 centos7.0 etcd3.0.14 etcd2 10.1.2.173 centos7.0 etcd3.0.14 一、在各节点(etcd0、etcd1、etcd2)上安装etcd 下载etcd源码包: https://github.com/coreos/etcd/releases ,这里用的是etcd-v3.0.14-linux-amd64.tar.gz,解压并添加etcd命令至环境变量。 # cd /path/to/etcd-v3.0.14-linux-amd64.tar.gz # tar xf etcd-v3.0.14-linux-amd64.tar.gz # mv etcd-v3.0.14-linux

kubernetes安装及启动服务

匿名 (未验证) 提交于 2019-12-03 00:26:01
1.关闭防火墙 2.安装etcd和kubernetes 其中etcd是作为数据库的角色,以键值的方式存储数据 3.安装好后,修改配置文件 a. vi /etc/sysconfig/docker 其中OPTIONS设置为如下: OPTIONS='--selinux-enabled=false --insecure-registry gcr.io' KUBE_ADMISSION_CONTROL参数删除ServiceAccount 4.启动 脚本形式 vi restart.sh #!/bin/bash ser=("etcd" "docker" "kube-apiserver" "kube-controller-manager" "kube-scheduler" "kubelet" "kube-proxy") for i in ${ser[@]};do done 5.启动mysql服务 a.创建mysql-rc.yaml文件,编写要注意空格等格式 如果报错如下,就是语法有问题 [root@my210 ~]# kubectl create -f mysql-rc.yaml error: error validating "mysql-rc.yaml": error validating data: found invalid field spec for v1

ETCDʵս

匿名 (未验证) 提交于 2019-12-03 00:14:01
一、建立集群 1、在每台机器上建立环境变量 TOKEN = token - 01 CLUSTER_STATE = new NAME_1 = machine - 1 NAME_2 = machine - 2 NAME_3 = machine - 3 HOST_1 = 10.240 . 0.17 HOST_2 = 10.240 . 0.18 HOST_3 = 10.240 . 0.19 CLUSTER = $ { NAME_1 }= http : //${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:23802、在每台机器上运行如下命令 # For machine 1 THIS_NAME = $ { NAME_1 } THIS_IP = $ { HOST_1 } etcd -- data - dir = data . etcd -- name $ { THIS_NAME } \ -- initial - advertise - peer - urls http : //${THIS_IP}:2380 --listen-peer-urls http://${THIS_IP}:2380 \ -- advertise - client - urls http : //${THIS_IP}

ETCD授权认证

匿名 (未验证) 提交于 2019-12-03 00:14:01
export ETCDCTL_API=3 ENDPOINTS=localhost:2379 etcdctl --endpoints=${ENDPOINTS} role add root etcdctl --endpoints=${ENDPOINTS} role grant-permission root readwrite foo etcdctl --endpoints=${ENDPOINTS} role get root etcdctl --endpoints=${ENDPOINTS} user add root etcdctl --endpoints=${ENDPOINTS} user grant-role root root etcdctl --endpoints=${ENDPOINTS} user get root etcdctl --endpoints=${ENDPOINTS} auth enable # now all client requests go through auth etcdctl --endpoints=${ENDPOINTS} --user=root:123 put foo bar etcdctl --endpoints=${ENDPOINTS} get foo etcdctl --endpoints=${ENDPOINTS} --user=root

aa

匿名 (未验证) 提交于 2019-12-03 00:09:02
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数据保存目录