etcd

Kubernetes 1.17.2 高可用部署

烂漫一生 提交于 2020-02-16 21:22:59
20.0.0.200 10.0.0.200 bs-k8s-master01 管理节点 2c2g 20.0.0.201 10.0.0.201 bs-k8s-master02 管理节点 2c2g 20.0.0.202 10.0.0.202 bs-k8s-master03 管理节点 2c2g 20.0.0.203 10.0.0.203 bs-k8s-node01 业务节点 2c2g 20.0.0.204 10.0.0.204 bs-k8s-node02 业务节点 2c2g 20.0.0.205 10.0.0.205 bs-k8s-node03 业务节点 2c2g 服务器准备 所有机器 以bs-k8s-master01为例 #关闭selinux/firewalld/iptables [root@bs-k8s-master01 ~]# setenforce 0 \ > && sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config \ > && getenforce l -y iptables-services \ && systemctl stop iptables \ && systemctl disable iptables \ && systemctl status iptablessetenforce:

Etcd集群配置

廉价感情. 提交于 2020-02-10 00:26:57
服务器环境: ip client_port peer_port 10.20.48.107 2379 2380 10.20.48.108 2379 2380 10.20.48.109 2379 2380 安装etcd: 安装比较简单,我们只需要去 官方 下载包就可以 wget https://github.com/coreos/etcd/releases/download/v3.1.11/etcd-v3.1.11-linux-amd64.tar.gz tar zxvf etcd-v3.1.11-linux-amd64.tar.gz -C /usr/local/ 在 /usr/local/ 目录下 mv etcd-v3.1.11-linux-amd64.tar.gz etcdv3 ln -s /usr/local/etcdv3/etcd* /usr/local/bin/ 在 /etc/profile 中添加环境变量 export ETCDCTL_API=3 配置说明: 123456789 name: initial-advertise-peer-urls: #该成员的对等url列表,用于向集群的其他成员通告(告诉其他成员通过什么url和我通信)listen-peer-urls: # 本地监听,接收同等节点请求的端口listen-client-urls: # 本地监听

服务治理与RPC · 跬步

拈花ヽ惹草 提交于 2020-02-09 09:39:41
以前写过Django中使用zerorpc的方法,但是由于我们的Django是运行在gevent下,而zeromq需要启动一个后台进程处理消息,与gevent使用的greenlet携程是冲突的。 在Java的世界里,Spring Cloud全家桶覆盖了微服务的方方面面,专注于服务治理的框架也有阿里的Dubbo,微博的Motan。但是Python这边没有找到合适的轮子,甚至于好的RPC框架也没有,只有gRPC,Thrift这种跨语言的RPC框架。而这些跨语言的RPC框架基本上也是基于C/C++的Python port。 在github上全局搜索Python rpc,找到一个原生支持gevent的 MPRPC ,而且也找到了微博Motan的Golang版本,所以考虑读Motan-go的源码学习一下什么是服务治理,再基于MPRPC实现自己的轮子。这就有了 doge 。 服务注册 主流的注册中心服务包括etcd,Consul,zookeeper。这里只考虑了etcd与Consul,etcd相对来说简单些,是一个分布式的KV强一致数据库,数据以树状结构存储。Consul的功能更丰富些,有服务的定义,并且支持对服务的健康检查。etcd不支持健康检查,但是可以通过设置key的ttl,然后服务定时刷新ttl来主动上报。 熔断 MPRPC本身提供了一个简单socket pool池

K8S——ETCD部署

淺唱寂寞╮ 提交于 2020-02-07 18:43:42
角色分配: 环境部署 所有虚拟机均已关闭防火墙以及selinux核心防护功能 实操 建工作目录存放二进制软件包 [root@master ~]# cd / [root@master /]# mkdir k8s 安装ETCD数据库(三副本机制) master(下载ca证书创建、管理工具cfssl) [root@master k8s]# curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl [root@master k8s]# curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson [root@master k8s]# curl -L https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo [root@master k8s]# chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo 生成ca证书 //定义ca证书,生成ca证书配置文件 [root

K8S单master部署三:APIserver+Controller-Manager+Schedul

一世执手 提交于 2020-02-07 14:18:32
以下所有操作均在master端进行 服务器角色分配 角色 地址 安装组件 master 192.168.142.220 kube-apiserver kube-controller-manager kube-scheduler etcd node1 192.168.142.136 kubelet kube-proxy docker flannel etcd node2 192.168.142.132 kubelet kube-proxy docker flannel etcd 一、APIserver服务部署 建立apiserver安装站点 [root@master k8s]# pwd /k8s [root@master k8s]# mkdir apiserver [root@master k8s]# cd apiserver/ 建立ca证书(注意路径问题!!) //定义ca证书,生成ca证书配置文件 [root@master apiserver]# cat > ca-config.json <<EOF { "signing": { "default": { "expiry": "87600h" }, "profiles": { "kubernetes": { "expiry": "87600h", "usages": [ "signing", "key encipherment",

K8s完整单节点二进制部署(实战必备!)

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-06 16:40:46
搭建步骤: 1:自签ETCD证书 2:ETCD部署 3:Node安装docker 4:Flannel部署(先写入子网到etcd) ---------master---------- 5:自签APIServer证书 6:部署APIServer组件(token,csv) 7:部署controller-manager(指定apiserver证书)和scheduler组件 ----------node---------- 8:生成kubeconfig(bootstrap,kubeconfig和kube-proxy.kubeconfig) 9:部署kubelet组件 10:部署kube-proxy组件 ----------加入群集---------- 11:kubectl get csr && kubectl certificate approve 允许办法证书,加入群集 12:添加一个node节点 13:查看kubectl get node 节点 环境准备: master节点: CentOS 7-3:192.168.18.128 node节点: CentOS 7-4:192.168.18.148 docker CentOS 7-5:192.168.18.145 docker Mester7-3: [root@master ~]# mkdir k8s [root@master ~]# cd

K8S单master部署一:环境规划、ETCD部署

狂风中的少年 提交于 2020-02-06 16:35:46
实验环境规划 概述 使用VMwork虚拟机部署单master双node的小型集群,并且在master和node上都安装etcd来实现etcd集群。 软件采用版本 软件名称 版本 Linux系统 Linux version 4.8.5 Kubernetes 1.9 Docker Docker version 19.03.5 Etcd v3.3.10 服务器角色分配 角色 地址 安装组件 master 192.168.142.220 kube-apiserver kube-controller-manager kube-scheduler etcd node1 192.168.142.136 kubelet kube-proxy docker flannel etcd node2 192.168.142.132 kubelet kube-proxy docker flannel etcd 前期注意 所有实验虚拟机均已关闭selinux核心防护功能 建立工作目录用于存放二进制软件包 [root@master ~]# cd / [root@master /]# mkdir k8s 安装ETCD数据库(三节点备份) master端方面 下载ca证书创建、管理工具cfssl [root@master k8s]# curl -L https://pkg.cfssl.org/R1.2/cfssl

Docker搭建ETCD集群总结

坚强是说给别人听的谎言 提交于 2020-02-05 23:16:10
应开发要求,部署ETCD集群,作为服务发现使用;考虑再三,决定使用Docker方式来进行安装。好处嘛,谁用谁知道; 一般来说,每种工具的官网都会有安装的方式,于是百度官网看到用docker的安装方式; ETCD官网安装方式 考虑到网上另外乱七八糟,误人不浅的文章,故打算从新整理一份,供有需要的弟兄参考,如有错漏,也望多多指正 部署步骤: 1.环境描述 集群含有三个节点(etcd集群节点数只能为奇数) 主机名 IP地址 系统版本 etcd-node1 10.1.1.35 centos7.6 etcd-node2 10.1.1.36 etcd-node3 10.1.1.37 2.通过hostnamectl跟setip修改主机名跟IP地址 注:setip为脚本文件,用于修改IP,需要自己编写, 3.修改3个节点的hosts文件 #vim /etc/hosts 10.1.1.35 etcd-node1 10.1.1.36 etcd-node2 10.1.1.37 etcd-node3 wq! 注:这个步骤不是必须的,但是如果要搭建集群的话,要养成配置hosts的习惯 4.配置docker安装环境及部署docker 略(网上大把,可以百度,后续有空再来修改) 5.拉取etcd的镜像: docker pull quay.io/coreos/etcd 6.编写脚本: vim buildEtcd

K8S单master部署三:APIserver+Controller-Manager+Scheduler

☆樱花仙子☆ 提交于 2020-02-05 14:03:26
以下所有操作均在master端进行 服务器角色分配 角色 地址 安装组件 master 192.168.142.220 kube-apiserver kube-controller-manager kube-scheduler etcd node1 192.168.142.136 kubelet kube-proxy docker flannel etcd node2 192.168.142.132 kubelet kube-proxy docker flannel etcd 一、APIserver服务部署 建立apiserver安装站点 [ root @master k8s ] # pwd / k8s [ root @master k8s ] # mkdir apiserver [ root @master k8s ] # cd apiserver / 建立ca证书(注意路径问题!!) //定义ca证书,生成ca证书配置文件 [ root @master apiserver ] # cat > ca - config . json << EOF { "signing" : { "default" : { "expiry" : "87600h" } , "profiles" : { "kubernetes" : { "expiry" : "87600h" , "usages" :

K8S集群安装 之 验证服务

隐身守侯 提交于 2020-02-04 20:53:55
一、验证服务 [root@test-nodes1 etcd]# kubectl get cs NAME STATUS MESSAGE ERROR scheduler Healthy ok controller-manager Healthy ok etcd-2 Healthy {"health": "true"} etcd-1 Healthy {"health": "true"} etcd-0 Healthy {"health": "true"} [root@test-nodes1 etcd]# kubectl get nodes NAME STATUS ROLES AGE VERSION test-nodes1.cedarhd.com Ready master,node 25h v1.15.2 test-nodes2.cedarhd.com Ready master,node 25h v1.15.2 [root@test-nodes1 etcd]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-ds1-qg45q 1/1 Running 0 24h nginx-ds1-whnmv 1/1 Running 0 24h 来源: 51CTO 作者: wx592bc92b285c7 链接: https://blog.51cto