etcd

CentOS7安装OpenStack-01.系统环境准备和相关组件安装

◇◆丶佛笑我妖孽 提交于 2020-05-08 21:15:43
官方文档: https://docs.openstack.org 1.0.系统环境 生产测试应用的服务器最好是物理机,虚拟目前可以完成搭建测试体验 系统选择是目前的最新版本:CentOS Linux release 7.7.1908 (Core) 控制节点 :Controller :192.168.182.143 计算节点 :Nova:192.168.182.142 1.1.配置域名解析 1)配置主机名 # 在 控制节点 上执行 hostnamectl set - hostname controller echo ' # controller 192.168 . 182.143 controller # compute1 192.168 . 182.142 compute1 ' >>/etc/hosts 1.2.关闭防火墙和selinux systemctl stop firewalld.service systemctl disable firewalld.service systemctl status firewalld.service setenforce 0 getenforce sed -i ' s#SELINUX=enforcing#SELINUX=disabled#g ' /etc/sysconfig/ selinux grep SELINUX =disabled

kubernetes(k8s)架构及核心概念

六月ゝ 毕业季﹏ 提交于 2020-05-07 22:12:51
K8s基础原理 k8s中文社区: https://www.kubernetes.org.cn/ k8s快速入门: http://www.dockone.io/article/932 简介 Kubernetes 简单的说就是一个容器集群编排工具 Kubernetes 是为生产环境而设计的容器调度管理系统,对于负载均衡、 服务发现、高可用、滚动升级、自动伸缩等容器云平台的功能要求有原生支持 一个K8s集群是由分布式存储(etcd)、服务节点(Minion, etcd现在称为Node)和控制节点(Master)构成的。所有的集群状态都保存在etcd中,Master节点上则运行集群的管理控制模块。Node节点是真正运行应用容器的主机节点,在每个Minion节点上都会运行一个Kubelet代理,控制该节点上的容器、镜像和存储卷等。 1. Master(管理节点)核心组件: API-Server ---k8s系统对外接口,提供Restful API供客户端和其他组件调用,支持水平扩展 Scheduler ---负责对资源进行调度,具体负责分配某个请求的Pod到某个节点上 Controller ---对不同资源的管理器,维护集群的状态,包括故障检测、自动扩展、滚动更新等 Etcd ---作为K/V数据库,存放集群状态和配置相关数据 2. Node(工作节点)核心组件: Kubelet ---

Kubernetes实战总结

百般思念 提交于 2020-05-07 13:05:15
>>> 目录 <<< 一、概述 二、核心组件 三、基本概念 四、系统架构 五、镜像制作 六、服务编排 七、持续部署 八、故障排查 >>> 正文 <<< 一、 概述 Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。Kubernetes特点 : ☛ 可移植: 支持公有云,私有云,混合云,多重云 ☛ 可扩展: 模块化, 插件化, 可挂载, 可组合 ☛ 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展 二、 核心组件 1) 主要组件 ● etcd : 保存了整个集群的状态; ● apiserver : 提供了资源操作的唯一入口,并提供访问控制、API注册和发现等机制; ● scheduler : 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上; ● controller manager : 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; ● kubelet : 负责维护容器的生命周期,同时也负责数据卷(CVI)和网络(CNI)的管理; ● kube-proxy : 负责为Service提供集群内部的服务发现和负载均衡; ● Container runtime : 负责镜像管理以及Pod和容器的真正运行(CRI); 2) 扩展组件 ● kube-dns : 负责为整个集群提供DNS服务 ●

一步一步搞定Kubernetes二进制部署(三)——组件安装(单节点)

无人久伴 提交于 2020-05-06 15:04:05
一步一步搞定Kubernetes二进制部署(三)——组件安装(单节点) 前言 ​ 前面两篇文章我们将基础的环境构建完成,包括etcd集群(含证书创建)、flannel网络设置、docker引擎安装部署等,本文将在三台服务器上搞定此次单节点的二进制方式部署的Kubernetes集群。 master节点上进行配置 1、创建工作目录 [root@master01 k8s]# mkdir -p /opt/kubernetes/{cfg,bin,ssl} 2、部署apiserver组件 2.1制作apiserver证书 2.1.1创建apiserver证书目录,编写证书生成脚本 [root@master01 k8s]# mkdir k8s-cert [root@master01 k8s]# cd k8s-cert/ [root@master01 k8s-cert]# cat k8s-cert.sh #先前已经在etcd集群搭建的时候给出该类文本的介绍和相关解释了,这里就不再赘述了主要注意下面的地址部分的规划写入 cat > ca-config.json <<EOF { "signing": { "default": { "expiry": "87600h" }, "profiles": { "kubernetes": { "expiry": "87600h", "usages": [

一步一步搞定Kubernetes二进制部署(二)——flannel网络配置(单节点)

烂漫一生 提交于 2020-05-06 15:03:36
一步一步搞定Kubernetes二进制部署(二)——flannel网络配置(单节点) 前言 ​ 前面搭建了单节点Kubernetes二进制部署的etcd集群流程的演示,本文将结合上次的文章继续部署Kubernetes单节点集群,完成集群的外部通信之flannel网络配置。 环境准备 ​ 首先,两个node节点安装docker-ce,可以查看我之前的有关docker部署的文章: 揭开docker的面纱——基础理论梳理和安装流程演示 ,这里我直接使用shell脚本安装了,注意其中的镜像加速最好使用自己在阿里云或其他地方申请的地址。 ​ 上次我是在实验环境中挂起了虚拟机,此时建议检查网络是否可以访问外网,然后检查三个节点的etcd集群健康状态,这里的三个环境已node01为例演示验证 [root@node01 opt]# ping www.baidu.com #两个node节点上测试验证docker服务是否开启 [root@node01 opt]# systemctl status docker.service #健康状态检查 [root@node01 ssl]# /opt/etcd/bin/etcdctl --ca-file=ca.pem --cert-file=server.pem --key-file=server-key.pem --endpoints="https://192

Kubernetes容器集群管理环境

橙三吉。 提交于 2020-05-05 20:44:11
Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统。其设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台。Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群,Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。Kubernetes是一个用于容器集群的自动化部署、扩容以及运维的开源平台。 通过Kubernetes, 可以快速有效地响应用户需求: -> 快速而有预期地部署应用; -> 极速地扩展你的应用; -> 无缝对接新的应用功能; -> 节省资源,优化硬件资源的使用; Kubernetes功能特性: -> 自动化容器部署与复制 -> 随时扩展或收缩容器规模 -> 组织容器成组,提供容器间的负载均衡 -> 快速更新及回滚容器版本 -> 提供弹性伸缩,如果某个容器失效就进行替换 Kubernetes重要组件: 1)Master组件 Master节点上面主要由四个模块组成:APIServer、scheduler、controller manager、etcd -> APIServer : 负责对外提供RESTful的Kubernetes API服务,它是系统管理指令的统一入口,任何对资源进行增删改查的操作都要交给APIServer处理后再提交给etcd

zookeeper,及k8s基础概念

喜你入骨 提交于 2020-05-05 15:59:39
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)

Kubernetes容器云——基础概念篇

怎甘沉沦 提交于 2020-05-05 13:03:09
Kubernetes容器云——基础概念篇 前言 ​ 前面我们讲解了有关docker的基础以及进阶的部分内容,本文开始将进入Kubernetes的云原生平台结合容器的云服务的世界。本文将从Kubernetes的基础概念,核心作用,基本组件、架构和原理来讲述Kubernetes,带你从入门到进阶搞定Kubernetes。 Kubernetes基础概念 从docker容器引入Kubernetes ​ 近十几年来,IT领域的技术发展可谓是日新月异,新的架构新的概念层出不穷,例如DevOPs、微服务、容器、云计算及区块链等。而由于各种业务的需要,IT应用模型也在不断变革,而前面所讲数的docker容器技术的出现,其终结了Devops中交付和部署环节因环境、配置及开发语言等不同因素造成的困境,如今愈来愈多的企业或组织开始选择以镜像文件为交付载体。容器镜像内包含了应用程序及其依赖的系统环境、库、基础程序等,从而可以在安装了容器引擎上直接运行。这样,IT运维工程师就无需关注编程语言和开发环境,只需要掌握管理容器的工具链即可。 新的问题 ​ 虽然部署简化了,但是以容器形式运行的应用程序之间的协同却是一个新的问题,于是各种编排系统应运而生,其中为代表的就是Kubernetes。 Kubernetes概述 ​ Kubernetes,来着希腊语,意为“舵手”或者说是“飞行员”

一步一步搞定Kubernetes二进制部署(一)——etcd集群搭建(单节点)

放肆的年华 提交于 2020-05-05 10:06:39
一步一步搞定Kubernetes二进制部署(一)——etcd集群搭建(单节点) 前言 ​ 前面简单介绍了Kubernetes的基础理论原理与核心组件,本文将给出单节点以二进制部署Kubernetes集群的第一个步骤——搭建etcd集群实验流程。 集群规划清单(之后的文章将按照该规划一步一步配置) 1、三个节点上部署etcd集群 2、两个node节点上部署docker环境、部署flannel(容器内部之间的通信,依赖于vxlan技术) 3、master节点上部署kube-apiserver、kube-controller-manager、kube-scheduler 4、node节点上部署kubelet、kube-proxy 服务器ip地址规划 master01地址:192.168.0.128 node01地址:192.168.0.129 node02地址:192.168.0.130 本文将给出的是etcd集群的搭建配置流程。 搭建流程 1、环境准备 ​ 三台服务器建议设置主机名称、绑定静态ip和关闭网络管理服务,其次需要关闭防火墙和核心防护,清空iptables 这里以master01为例,其他节点按照此节点类似设置即可 [root@localhost ~]# hostnamectl set-hostname master01 [root@localhost ~]# su

grpc应用于微服务的分析,基于python

我是研究僧i 提交于 2020-05-05 02:11:19
grpc应用于微服务的分析 gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计,目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持. gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。 gRPC 基于如下思想:定义一个服务, 指定其可以被远程调用的方法及其参数和返回类型 gRPC 允许你定义四类服务方法: 单项 RPC,即客户端发送一个请求给服务端,从服务端获取一个应答,就像一次普通的函数调用。 rpc SayHello(HelloRequest) returns (HelloResponse){} 服务端流式 RPC,即客户端发送一个请求给服务端,可获取一个数据流用来读取一系列消息。客户端从返回的数据流里一直读取直到没有更多消息为止。 rpc LotsOfReplies(HelloRequest) returns (stream HelloResponse){} 客户端流式 RPC,即客户端用提供的一个数据流写入并发送一系列消息给服务端