etcd

《Kubernetes权威指南》基本概念

℡╲_俬逩灬. 提交于 2019-11-28 17:34:21
一 、基本概念 kubernetes 中的 Node 、 Pod 、 Replication Controller 、 Service 等都是一种“资源对象”,基本都可以通过 kubectl 或者通过API编程调用,执行增删改查操作都保存在ETCD中持久化存储 1.1 Master 作用:每个k8s集群都需要一个mater节点来管理,master一般是单独部署 核心组件: Kubernetes API Server(kube-apiserver),提供HTTP REST 接口的关键服务进程,是k8s里所有资源增删改查 等操作的唯一入口 Kubernetes Controller Manager (kube-controller-manager),k8s所有资源的自动化控制中心。 Kubernetes Scheduler(kube-scheduler),调度(POD)的进程。 ETCD,master节点一般还启动一个ETCD Server进程,所有资源对象的数据全部保存在ETCD中 1.2 Node 除了Master,k8s集群的其他节点都称为Node节点,Node节点是k8s集群中的工作负载节点,当某个Node宕机,骑上的工作负载会被master自动转移到其他节点上 核心组件: kubelet:负责Pod对象的容器创建、启停等任务,同时与Master节点密切协作 kube

docker搭建etcd集群环境

梦想与她 提交于 2019-11-28 15:55:41
其实关于集群网上说的方案已经很多了,尤其是官网,只是这里我个人只有一个虚拟机,在开发环境下建议用docker-compose来搭建etcd集群. 1.拉取etcd镜像 docker pull quay.io/coreos/etcd 2.编辑docker-compose.yaml文件: version: '2' networks: byfn: services: etcd1: image: quay.io/coreos/etcd container_name: etcd1 command: etcd -name etcd1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new ports: - "12379:2379" - 2380 networks: - byfn etcd2: image:

centos7部署etcd集群

故事扮演 提交于 2019-11-28 13:07:50
实验环境: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

Prometheus监控篇

℡╲_俬逩灬. 提交于 2019-11-28 07:52:26
一、Prometheus介绍 之前已经详细介绍了Kubernetes集群部署篇,今天这里重点说下Kubernetes监控方案-Prometheus+Grafana。Prometheus(普罗米修斯)是一个开源系统监控和警报工具,最初是在SoundCloud建立的。自2012年成立以来,许多公司和组织都采用了普罗米修斯,该项目拥有一个非常活跃的开发者和用户社区。它现在是一个独立的开放源码项目,并且独立于任何公司,为了强调该点并澄清项目的治理结构,Prometheus在2016年加入了云计算基金会,成为继Kubernetes之后的第二个托管项目。 Prometheus是用来收集数据的,同时本身也提供强大的查询能力,结合Grafana即可以监控并展示出想要的数据。 Prometheus的主要特征 - 多维度数据模型 - 灵活的查询语言 (PromQL) - 不依赖分布式存储,单个服务器节点是自主的 - 以HTTP方式,通过pull模型拉去时间序列数据 - 也通过中间网关支持push模型 - 通过服务发现或者静态配置,来发现目标服务对象 - 支持多种多样的图表和界面展示,grafana也支持它 Prometheus组件 Prometheus生态包括了很多组件,它们中的一些是可选的: - 主服务Prometheus Server负责抓取和存储时间序列数据 - 客户库负责检测应用程序代码 -

k8s技术预研4--以二进制方式安装Kubernetes集群

与世无争的帅哥 提交于 2019-11-28 07:49:38
本文讲解使用二进制文件方式安装k8s集群的方法。部署的是Kubernetes v1.8.8。 先从k8s官网找到对应的版本号,单击CHANGELOG,找到安装包的下载链接。或者直接点击下面的链接进去。 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#downloads-for-v188 从页面表格中找到Server Binaries中的kubernetes-server-linux-amd64.tar.gz文件,下载到本地。 该压缩包中包括了k8s需要运行的全部服务程序文件,解压后如下所示: -rwxr-xr-x. 1 root root 55191532 Feb 10 05:59 apiextensions-apiserver -rwxr-xr-x. 1 root root 109306478 Feb 10 05:59 cloud-controller-manager -rw-r--r--. 1 root root 7 Feb 10 05:59 cloud-controller-manager.docker_tag -rw-r--r--. 1 root root 110683136 Feb 10 05:59 cloud-controller-manager.tar -rwxr-xr-x.

快速部署 Kubeadm 1.13 集群ETCD(转同事)

China☆狼群 提交于 2019-11-28 07:46:34
转自同事脚本 ,部分根据集群微调 软件环境清单 kubeadm.x86_64 Version :1.13.1-0 kubelet.x86_64 Version : 1.13-1-0 kubectl.x86_64 Version : 1.13-1-0 kubernetes-cni.x86_64 Version : 0.6.0-0 docker Version 18.06.1-ce 一、更改系统部署参数 # 安装Wget yum install wget -y # 关闭 firewalld 防火墙 systemctl stop firewalld && systemctl disable firewalld # 关闭交换分区 swapoff -a && sed -i 's/.*swap.*/#&/' /etc/fstab # 禁用selinux setenforce 0 sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/sysconfig

使用二进制安装包部署kubernetes v1.9.8集群的参考手册

不羁岁月 提交于 2019-11-28 07:43:44
本次部署使用3个节点: Master节点,10.0.2.15 Node1节点,10.0.2.4 docker0网桥默认地址手动配置为:172.16.10.1/24 Node2节点,10.0.2.5 docker0网桥默认地址手动配置为:172.16.20.1/24 使用二进制文件方式安装k8s集群的方法。部署的是Kubernetes v1.9.8。 https://storage.googleapis.com/kubernetes-release/release/v1.9.8/kubernetes-server-linux-amd64.tar.gz 我们使用CentOS7.5,注意在每个节点上处理一下防火墙策略: firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.0.2.0/24" accept" firewall-cmd --reload 一、使用二进制方式部署k8s的Master节点 1、etcd服务 从 https://github.com/coreos/etcd/releases 下载etcd二进制文件,将etcd和etcdctl文件复制到/usr/bin目录。 配置systemd服务文件:/usr/lib/systemd/system

kubernete

谁都会走 提交于 2019-11-28 05:42:11
一、 安装前主题环境准备 1.1 、 docker 安装 1.2 、 关闭所有节点的 selinux 1.3 、关闭防火墙 1.4 、时间同步 1.5 、 安装私有仓库环境 Harbor 1.6 、软件规划 软件 版本 操作系统 redhat 7.5 kubernetes 1.12 Docker 18.06 Etcd 3.x Flannel 0.10 1.7 、主机规划 角色 IP 组件 推荐配置 iim-master 192.168.3.21 kube-aipserver kube-controller-manager kube-scheduler CPU : x2 内存: 4G+ zx-registry 192.168.3.22 Harbor docker etcd01 iim-node1 192.168.3.23 kubelet kube-proxy docker flannel etcd01 iim-node2 192.168.3.24 kubelet kube-proxy docker flannel etcd01 1.8 、拓扑图 二、 文件列表 序号 文件名 用途 1 certificate.sh 证书生成脚本 cer 2 etcd.sh etcd 安装脚本 etcd 3 etcd-v3.2.12-linux-amd64.tar.gz etcd 安装包 4 cfssl

k8s(ectd集群)

烂漫一生 提交于 2019-11-28 05:40:10
192.168.182.100 master 192.168.182.101 node1 192.168.182.102 node2 etcd集群+cfssl证书签名配置 1,iptables -F 防火墙 /etc/hosts 2,wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce systemctl start docker mkdir -p /opt/kubernetes/{cfg,bin,ssl,log} 3.vim /root/.bash_profile 设置环境变量 PATH=$PATH:$HOME/bin:/opt/kubernetes/bin 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 手动制作CA证书 pkg.cfssl.org证书下载网址(自己找哦) 1,下载cfssl工具mv cfssl-certinfo_linux-amd64 /opt/kubernetes/bin/cfssl-certinfo && \ mv cfssljson_linux-amd64 /opt/kubernetes/bin/cfssljson && \ mv cfssl_linux

k8s重要概念及部署k8s集群(一)

佐手、 提交于 2019-11-28 05:22:27
k8s介绍 Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。 Kubernetes优势: – 容器编排 – 轻量级 – 开源 – 弹性伸缩 – 负载均衡 重要概念 1. cluster cluster是 计算、存储和网络资源的集合,k8s利用这些资源运行各种基于容器的应用。 2.master master是cluster的大脑,他的主要职责是调度,即决定将应用放在那里运行。master运行linux操作系统,可以是物理机或者虚拟机。为了实现高可用,可以运行多个master。 3.node node的职责是运行容器应用。node由master管理,node负责监控并汇报容器的状态,同时根据master的要求管理容器的生命周期。node运行在linux的操作系统上,可以是物理机或者是虚拟机。 4.pod pod是k8s的最小工作单元。每个pod包含一个或者多个容器。pod中的容器会作为一个整体被master调度到一个node上运行。 5.controller k8s通常不会直接创建pod,而是通过controller来管理pod的。controller中定义了pod的部署特性,比如有几个剧本