etcd

初学Docker容器网络不得不看的学习笔记

荒凉一梦 提交于 2019-12-10 05:46:35
【技术沙龙002期】数据中台:宜信敏捷数据中台建设实践|宜信技术沙龙 将于5月23日晚8点线上直播,点击报名 一、关于Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 因为对比传统虚拟机有启动快、性能提升、运维成本等等绝对优势,越来越受开发运维童鞋的青睐。 二、关于Docker网络模式分类 1、bridge模式,--net=bridge(默认) 2、host模式,--net=host 3、container模式 使用–net =container:指定容器名 4、none模式,--net=none 5、用户自定义模式 三、关于Docker网络模式详解 3.1 bridge模式 Docker网络的默认模式,在docker run启动容器的时候,如果不加--net参数,就默认采用这种网络模式。安装完docker,系统会自动添加一个供docker使用的网桥docker0。容器通过DHCP获取一个与docker0同网段的IP地址,并默认连接到docker0网桥

ETCD-内部原理

廉价感情. 提交于 2019-12-10 02:29:36
无论是Paxos还是Raft,它们都是致力于维护一RSM(Replicated State Machine),如上图所示。对于RSM来说,状态存储是非常关键的 (Replicated State Machine)状态机:一致性group的节点的某个时刻的状态(比如数据库里x=1,y=1是一个状态)转移可以看成自动机里的一个状态,所以叫状态机。 Replicated Log: 包含了来自客户端的用于执行在状态机上的命令(操作)。 /*--> */ /*--> */ /*--> */ /*--> */ ETCD架构图 /*--> */ /*--> */ Snapshot处理流程:https://www.jianshu.com/p/cf4f0d3ae253 /*--> */ /*--> */ 从etcd的架构图中可以看到,etcd主要分为四个部分: HTTP Server: 用于处理用户发送的API请求以及其它etcd节点的同步与心跳信息请求。 Store:这个模块顾名思义,就像一个商店把etcd已经准备好的各项底层支持加工起来,为用户提供五花八门的API支持,处理用户的各项请求。 用于处理etcd支持的各类功能的事务,包括数据索引、节点状态变更、监控与反馈、事件处理与执行等,是etcd对用户提供的大多数API功能的具体实现。 Raft: raft 状态机,raft强一致性算法的具体实现

如何创建etcd双向通信证书

家住魔仙堡 提交于 2019-12-09 16:55:34
# 安装证书生成软件 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O /usr/bin/cfssl wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O /usr/bin/cfssl-json wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/bin/cfssl-certinfo chmod +x /usr/bin/cfssl* # 创建证书签发目录 mkdir -p /opt/certs # 创建跟证书 /opt/certs/ca-csr.json { "CN": "OldboyEdu", "hosts": [ ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "beijing", "L": "beijing", "O": "od", "OU": "ops" } ], "ca": { "expiry": "175200h" } } # 根证书生成 cfssl gencert -initca ca-csr.json | cfssl-json -bare ca # 创建etcd证书配置

高可用etcd集群(三节点) + ssl双向认证

≡放荡痞女 提交于 2019-12-09 16:22:19
# etcd下载地址 https://github.com/etcd-io/etcd/tags wget https://github.com/etcd-io/etcd/releases/download/v3.1.20/etcd-v3.1.20-linux-amd64.tar.gz # 创建etcd启动用户 useradd -s /sbin/nologin -M etcd # 设置etcd工作空间  tar -xf etcd-v3.1.20-linux-amd64.tar.gz -C /opt/ mv etcd-v3.1.20-linux-amd64 etcd-v3.1.20 ln -s etcd-v3.1.20 etcd # 创建etcd工作目录 mkdir -p /opt/etcd/certs /data/etcd /data/logs/etcd-server # 将提前生成好的etcd双向证书放置/opt/etcd/certs目录 [root@hdss7-12 opt]# ls /opt/etcd/certs/ ca.pem etcd-peer-key.pem etcd-peer.pem # 创建etcd启动脚本 /opt/etcd/etcd-server-startup.sh #!/bin/sh ./etcd --name etcd-server-7-12 \ -

单机版的k8s+docker+部署springCloud系列服务

陌路散爱 提交于 2019-12-09 00:44:38
本文转载自: https://blog.csdn.net/ysk_xh_521/article/details/81668631 本文容器部分部署是参考上面的博主的部署,一些具体的demo是从下面的连接地址的博主里的源码里摘取了部分 本文转载自: https://blog.csdn.net/hemin1003/article/details/82043611 本文中的演示demo代码来源于,这一篇非常强大的学习整个springCloud框架系列的文章,推荐大家去学习! 大家在转载的时候,请一定携带上这两位的博客地址,尊重原创谢谢! 环境:W7系统笔记本电脑 centos最新的镜像文件 VM虚拟机 由于没有公网的服务器资源,就自己本地启了虚拟机对付了一下,大家有条件可以用服务器来演示也是一样的 1.安装docker yum install docker #启动服务 systemctl start docker.service systemctl enable docker.service #测试 docker version 记得也顺便安装一下 vim 命令,后面会用到这个命令的===安装自己自行百度 2.安装etcd yum install etcd -y #启动etcd systemctl start etcd systemctl enable etcd #输入如下命令查看

原生技术基础学习(基础概念)

依然范特西╮ 提交于 2019-12-08 13:11:32
云原生技术基础学习 这是阿里的一个技术公开课, 视频链接 基础 容器基本概念: namespace 资源视图隔离 cgroup 控制资源使用率 chroot 独立的文件系统 容器是一个视图隔离,资源可限制、独立文件系统的进程集合。 容器镜像: 运行容器所需要的所有文件集合 Dockerfile 来描述镜像构建步骤。 构建步骤所产生出文件系统的变化叫做 changeset disk snapshot, 提高分发效率,减少磁盘压力。 Kubernetes 的概念: Kubernetes 是自动化的容器编排平台, 包括部署、弹性、管理 核心功能: (kubernetes 的水平伸缩, 自动恢复, 调度) 服务发现与负载均衡 容器自动装箱 存储编排 自动容器恢复 自动发布与回滚 批量执行 水平伸缩 架构简介: Kubernetes 架构是一个比较典型的二层架构 和 server-client 架构。master 作为作为中央的控制节点会与Node 进行一个连接。 所有 UI,client 这些user侧组件只会和 Master 进行连接,把希望的状态或像执行的命令下发给master, master 会把这些命令或者状态下发给相应的节点,进行最终的执行。 Kubernetes 的 master 包含四个主要的组件: API Server, Contronller, Scheduler 以及

ubuntu19 安装etcd

怎甘沉沦 提交于 2019-12-07 22:30:28
1.新建sh文件etcd_install.sh ETCD_VER=v3.3.18 # choose either URL GOOGLE_URL=https://storage.googleapis.com/etcd GITHUB_URL=https://github.com/etcd-io/etcd/releases/download DOWNLOAD_URL=${GOOGLE_URL} rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz /tmp/etcd-download-test/etcd

Kubernetes 1.11版本之二进制包安装

大兔子大兔子 提交于 2019-12-07 17:23:59
Kubernetes 1.11版本, 改动相当的大,主要是 kubelet 和 yaml 。 1)、master: RPM 包含命令 kubernetes-client kubectl kubernetes-master kube-apiserver、kube-controller-manager、kube-scheduler、kube-version-change #master 和node 的命令都在这,client 的就不要下载了 wget https://storage.googleapis.com/kubernetes-release/release/v1.11.0/kubernetes-server-linux-amd64.tar.gz # 启动 export ETCDCTL_API=3 echo 'export ETCDCTL_API=3' >> /etc/profile rm -rf /tmp/etcd nohup etcd --listen-peer-urls http://0.0.0.0:7001 --listen-client-urls http://0.0.0.0:4001 --advertise-client-urls http://0.0.0.0:4001 --data-dir /tmp/etcd/ --name kubernetes_master &>

Kubernetes核心原理笔记

杀马特。学长 韩版系。学妹 提交于 2019-12-07 16:20:29
                  kubernetes权威指南阅读笔记 笔记来自kubernetes权威指南,如需更详细的教程还请阅读原书,笔记只记录相关重要知识点,当然一下总结也包含一些自己的总结,有异议可以留言交流 Kubernetes API Server原理分析:   1.Kubernetes API Server通过一个进程名为kube-apiserver的进程提供服务,默认进程在本机端口(--insecure-port)提供REST 服务,同时通过HTTPS安全端口(--secure-port=6443)来启动安全机制   2.如果只想对外提供部分REST服务,则可以在master或者其他任何节点通过运行kubectl proxy进程启动一个内部代理实现,支持 --reject-paths、--accept=hosts 限制访问路径和访问来源   3.Kubernetes API Server最主要的REST接口是资源对象的 增、删、改、查 ,除此之外,它还提供了一类特殊的REST接口——Kubernetes Proxy API 接口,这类接口的作用是代理请求,即Kubernetes API Server把收到的REST请求转发到某个Node上的kubelet守护进程的REST端口上,由kubelet进程负责响应,部分接口列表:/api/v1/proxy/nodes/

独家解读 etcd 3.4版本 |云原生生态周报 Vol. 18

隐身守侯 提交于 2019-12-07 00:43:12
作者 | 酒祝、墨封、宇慕、衷源 关注“阿里巴巴云原生”公众号,回复关键词 “资料” ,即可获得 2019 全年 meetup 活动 PPT 合集及 K8s 最全知识图谱。 业界要闻 etcd 发布 3.4 版本 etcd 发布了 3.4 版本,是最近性能提升最大的一次发布,相信各位已经期待已久了!这次升级带来稳定性和性能等方面诸多优化,例如底层存储优化,客户端优化等多个方面。 「阿里巴巴云原生」公众号将在下周带来更详细的解读分析。 阿里联合谷歌共同研发,raft learner 新特性 使用过 zookeeper 的人一定听说过 observer,etcd 中新的 raft learner 类似于 observer, 它不参与 raft 投票选举。通过这个新的角色的引入,降低了加入新节点时给老集群的额外压力,增加了集群的稳定性。除此之外还可以使用它作为集群的热备或服务一些读请求。 这一新 feature 是由阿里巴巴工程师和谷歌工程师共同研发的,未来我们将带来更详细的解读分析,敬请期待。 更好的底层存储实现 本次 etcd 存储升级针对大规模的集群有重点优化,分为两方面: key/value 存储层,通过将底层 读事务优化为全并发 ,大幅度提升了 etcd 读写性能。经 Kuberentes 5000节点性能测试 ,表明在大规模读压力下,P99 写的延时降低 97.4%;