etcd

19 docker 多机器通信

元气小坏坏 提交于 2019-11-27 05:20:45
1. 本章实验 2. 环境搭建   1.编写 Vagrantfile 并创建虚拟机 并虚拟机node1绑定外部 192.168.205.10:8888 node2绑定外部 192.168.205.10:9999     # -*- mode: ruby -*-     # vi: set ft=ruby :     Vagrant.require_version ">= 1.6.0"     boxes = [       {     :name => "docker-node1" ,     :eth1 => "192.168.205.10" ,     :mem => "1024" ,     :cpu => "1" ,     :port => "8888"      },       {     :name => "docker-node2" ,     :eth1 => "192.168.205.11" ,     :mem => "1024" ,     :cpu => "1" ,     :port => "9999"     }     ]     Vagrant.configure (2 ) do |config|      config.vm.box = "centos/7"     boxes.each do |opts|     config.vm

etcd

不想你离开。 提交于 2019-11-26 22:44:10
etcd 是什么?(What is etcd) etcd 是一个一致的分布式可靠的键值存储技术。可被用来做配置共享和服务发现。 开发语言:Go 共识算法: Raft 命名来源:表示分布式的 etc 目录,发音为 /ˈɛtsiːdiː/ 。 使用的端口:2.0 后,使用 2379 作为外部客户端通信,使用 2380 作为内部服务间通信。 发起团队:CoreOS 安装 Linux 安装 curl -L https://github.com/coreos/etcd/releases/download/v3.3.1/etcd-v3.3.1-linux-amd64.tar.gz -o etcd-v3.3.1-linux-amd64.tar.gz tar xzvf etcd-v3.3.1-linux-amd64.tar.gz cd etcd-v3.3.1-linux-amd64 sudo cp etcd /usr/local/bin/ sudo cp etcdctl /usr/local/bin/ Mac 安装 # 安装 brew install etcd # 验证安装 etcd -version etcdctl -version Docker 安装 参考 Running etcd under Docker - CoreOS 及 docker_practice/etcd/install : #

k8s 1.12二进制部署

旧巷老猫 提交于 2019-11-26 20:38:20
提供的几种Kubernetes部署方式 l minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 l kubeadm Kubeadm也是一个工具,提供kubeadm init和kubeadm join指令,用于快速部署Kubernetes集群。 l 二进制包 从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。 小结: 生产环境中部署Kubernetes集群,只有Kubeadm和二进制包可选,Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。这里使用二进制包部署Kubernetes集群,也是比较推荐大家使用这种方式, 软件环境 软件 版本 操作系统 CentOS7.5_x64 Docker 18-ce Kubernetes 1.12 服务器角色 角色 IP 组件 k8s-master 192.168.31.63 kube-apiserver,kube-controller-manager,kube-scheduler,etcd k8s-node1 192.168.31.65 kubelet,kube-proxy,docker,flannel,etcd k8s-node2 192.168.31.66 kubelet,kube-proxy

二进制部署k8s

爷,独闯天下 提交于 2019-11-26 20:37:50
一、二进制部署 k8s集群 1)参考文章 博客: https://blog.qikqiak.com 文章: https://www.qikqiak.com/post/manual-install-high-available-kubernetes-cluster/ 2)环境架构 master: 192.168.10.12 192.168.10.22 etcd:类似于数据库,尽量使用高可用 192.168.10.12(etcd01) 192.168.10.22(etcd01) 二、创建证书 1)hosts 文件修改 [root@master01 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.12 k8s-api.virtual.local k8s-api.virtual.local 为后期设计的高可用的访问地址。现在临时设置 2)环境变量定义 [root@master01 ~]# head -c 16 /dev/urandom | od -An -t x | tr -d ' '

k8s集群安装

巧了我就是萌 提交于 2019-11-26 19:58:38
1. 组件版本 && 集群环境 组件版本 etcd 集群 && k8s master 机器 && k8s node 机器 集群环境变量 2. 创建CA 证书和密钥 安装 CFSSL 创建CA 分发证书 3. 部署高可用etcd 集群 定义环境变量 下载etcd 二进制文件 创建TLS 密钥和证书 创建etcd 的systemd unit 文件 启动etcd 服务 验证服务 4. 配置kubectl 命令行工具 环境变量 下载kubectl 创建admin 证书 创建kubectl kubeconfig 文件 分发kubeconfig 文件 5. 部署Flannel 网络 环境变量 创建TLS 密钥和证书 向etcd 写入集群Pod 网段信息 安装和配置flanneld 启动flanneld 检查flanneld 服务 检查分配给各flanneld 的Pod 网段信息 确保各节点间Pod 网段能互联互通 6. 部署master 节点 环境变量 下载最新版本的二进制文件 创建kubernetes 证书 6.1 配置和启动kube-apiserver 创建kube-apiserver 使用的客户端token 文件 创建kube-apiserver 的systemd unit文件 启动kube-apiserver 6.2 配置和启动kube-controller-manager

centos7部署etcd集群

一个人想着一个人 提交于 2019-11-26 19:54:31
实验环境:centos7.4纯净版 192.168.216.130 node1 master 192.168.216.132 node2 slave 192.168.216.134 node3 slave yum安装etcd yum install etcd yum list installed |grep -i etcd node1 etcd 配置 cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak cd /etc/etcd/ [root@localhost etcd]# egrep ^[A-Z] ./etcd.conf ETCD_DATA_DIR="/var/lib/etcd/node1.etcd" ETCD_LISTEN_PEER_URLS="http://192.168.216.130:2380" ETCD_LISTEN_CLIENT_URLS="http://192.168.216.130:2379,http://127.0.0.1:2379" ETCD_NAME="node1" ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.216.130:2380" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.216.130:2379" ETCD

etcd集群配置

时光总嘲笑我的痴心妄想 提交于 2019-11-26 19:54:06
简介: etcd :key-value键值存储数据库,用来存储kubernetes的信息的。 部署规划 这里我用3台服务器搭建一个简单的集群: 192.168.0.157 # master节点 192.168.0.158 # node节点 192.168.0.159 # node节点 1 、三个节点安装 etcd yum install etcd -y 2、etcd集群配置 在master节点上编辑etcd配置文件 [root@node1 ~]# vi /etc/etcd/etcd.conf # [member] ETCD_NAME=etcd1 ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #ETCD_WAL_DIR="" #ETCD_SNAPSHOT_COUNT="10000" #ETCD_HEARTBEAT_INTERVAL="100" #ETCD_ELECTION_TIMEOUT="1000" ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380" ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" ETCD_MAX_SNAPSHOTS="5" #ETCD_MAX_WALS="5" #ETCD_CORS="" # #[cluster] ETCD_INITIAL

Centos7下Etcd集群搭建

北城以北 提交于 2019-11-26 19:53:47
一、简介 “A highly-available key value store for shared configuration and service discovery.”   Etcd是coreos开发的分布式服务系统,内部采用raft协议作为一致性算法。作为一个高可用的配置共享、服务发现的键值存储系统,Etcd有以下的特点:     1)简单:安装配置简单,而且提供了 HTTP API 进行交互,使用也很简单     2)安全:支持 SSL 证书验证     3)快速:根据官方提供的数据,单实例支持每秒2k+读操作、1k写操作     4)可靠:采用raft算法,实现分布式系统数据的可用性和一致性   Etcd构建自身高可用集群主要有三种形式:     1)静态发现: 预先已知 Etcd 集群中有哪些节点,在启动时直接指定好Etcd的各个node节点地址     2)Etcd动态发现: 通过已有的Etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制     3)DNS动态发现: 通过DNS查询方式获取其他节点地址信息   本文主要介绍第一种方式,后续会陆续介绍剩下的两种方式。(直接docker安装请移步:quay.io/coreos/etcd 基于Docker镜像的集群搭建) 二、环境介绍 三台虚拟机,系统环境均为Centos7

CentOS 7 ETCD集群配置大全

戏子无情 提交于 2019-11-26 19:53:29
目录 前言 环境准备 安装 静态集群 配置 node01 配置文件 node02 配置文件 node03 配置文件 启动测试 查看集群状态 生成TLS证书 etcd证书创建 安装cfssl工具集 生成证书 分发证书到各节点上 静态TLS集群 etcd 配置 node01 配置文件 node02 配置文件 node03 配置文件 启动测试 检查TLS集群状态 ETCD 动态集群基于DNS的SRV解析自动发现 添加SRV解析 方法一: 使用 bind 配置SRV解析 方法二: 使用 dnsmasq 配置SRV解析 验证SRV解析是否正常 配置ETCD node01 配置文件 node02 配置文件 node03 配置文件 启动并测试 ETCD TLS动态集群基于DNS的SRV解析自动发现 添加SRV解析 方法一: 使用 bind 配置SRV解析 方法二: 使用 dnsmasq 配置SRV解析 验证SRV解析是否正常 ETCD 配置 node01 配置文件 node02 配置文件 node03 配置文件 启动测试 报错解决 1. 证书报错 bad certificate 解决 2. DNS 的 SRV 解析报错 cannot find local etcd member "etcd1" in SRV records http不带证书解析如下 https带证书解析如下 前言 Etcd 是

手动部署kubernetes集群(1.13.1最新版)

偶尔善良 提交于 2019-11-26 17:52:11
一、机器规划 使用五台机子部署k8s集群,规划如下: master节点3台(同时也是etcd节点) node节点2台 ip分配如下: ip:192.168.10.101,主机名:k8s-etcd01 ip:192.168.10.102,主机名:k8s-etcd02 ip:192.168.10.103,主机名:k8s-etcd03 ip:192.168.10.104,主机名:k8s-node01 ip:192.168.10.105,主机名:k8s-node02 注意: 1、全部机子关闭防火墙、关闭selinux 2、全部机子时间要同步 3、全部机子的hosts文件添加以下内容: 192.168.10.101 k8s-master01 k8s-master01.logmm.com k8s-etcd01.logmm.com k8s-etcd01 myk8s-api.logmm.com 192.168.10.102 k8s-master02 k8s-master02.logmm.com k8s-etcd02.logmm.com k8s-etcd02 192.168.10.103 k8s-master03 k8s-master03.logmm.com k8s-etcd03.logmm.com k8s-etcd03 192.168.10.104 k8s-node01 k8s-node01