展开

关键词

Etcdkubernetes集群中的作用

EtcdKubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息。 在后面具体的安装环境中,我们安装的etcd的版本是v3.1.5,整个kubernetes系统中一共有两个服务需要用到etcd用来协同和存储配置,分别是:网络插件flannel、对于其它网络插件也需要用到 etcd存储网络的配置信息kubernetes本身,包括各种对象的状态和元信息配置注意:flannel操作etcd使用的是v2的API,而kubernetes操作etcd使用的v3的API,所以在下面我们执行 存储Kubernetes对象信息Kubernetes使用etcd v3的API操作etcd中的数据。 这就造成我们访问etcd中保存的flannel的数据需要使用etcdctl的V2版本的客户端,而访问kubernetes的数据需要设置ETCDCTL_API=3环境变量来指定V3版本的API。

1.8K20

Kubernetes 1.19.0——ETCD

ETCD流程 image.png ETCD集群是一个分布式系统,使用Raft协议来维护集群内各个节点状态的一致性.主机状态Leader,Follower,Candidate.当集群初始化时候,每个节点都是 先在所有etcd节点上安装etcd image.png 对于etcd来说,配置文件在etcetcd这个目录下面其中用于配置单节点,用于配置集群 image.png 配置文件ETCD_DATA_DIR= ETCD的管理版本管理以上篇幅均采用的是ETCD的v2写法.对于ETCD来说,它有2个版本,设置成v3版,子命令会增多,并且以键值对存储 image.png 通过export命令将环境设置成v3版本后子命令就变多了 里的所有数据 image.png 在所有节点将快照文件的所属组改成etcd image.png 所有节点运行 etcdctl snapshot restore snap1.db --name etcd- 8X --initial-cluster etcd-81=http:192.168.135.81:2380,etcd-82=http:192.168.135.82:2380,etcd-83=http:192.168.135.83

466206
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年38元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kubernetesetcd数据库

    etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。 :采用raft算法,实现分布式系统数据的可用性和一致性由于上面的特点和优势,etcd也被作为k8s默认的存储数据库,今天我们来讲一讲如何部署etcd数据库集群以及etcd的一些常见使用方法。 集群章节有说明如何搭建 3.kubeadm集群如何使用etcd集群一般我们如果通过kubeadm创建的集群都是单节点的etcd,那么如何配置一个高可用的etcd集群给kubeadm的集群。 集群,并接入对应的集群中,大致步骤如下新建一个 2 节点的 etcd cluster查看 etcd 的状态迁移原来 master 节点上的 etcd 数据到上面新建的 etcd cluster 中切换 kube-apiserver 使用新的 etcd endpoint 地址清理掉原来的单节点 etcd 服务重建一个 etcd 服务,加入新集群部署新的 etcd 节点更新另外2个节点的 etcd.yaml

    63740

    Kubernetes搭建Etcd集群和WebUI

    今天用这篇文章带大家在自己的电脑上搭建一个Kubernetes Etcd集群,Kubernetes本身的功能就依赖Etcd实现,不过并不会开放给我们的程序使用,所以需要自己单独搭建。 关于为什么要使用Etcd我们不做过多介绍,现在切入正题。安装Etcd的方式比较多,如果想直接把Etcd集群安装在机器上而不是Kubernetes里可以通过 goreman 工具。 除了演示在Kubernetes里安装运行Etcd集群外,还会安装一个Etcd的Web UI服务,让我们能够通过浏览器查询和设置Etcd的Key-Value,这个Etcd Web UI服务同样是运行在Kubernetes Minikube-运行在笔记本上的Kubernetes集群Kubernetes 安装EtcdKubernetes里安装Etcd的方法有两种,一种是原始的通过StatefulSet控制器,也就是有状态应用来编排 :Kubernetes Service学习笔记和实践练习深入理解StatefulSet,用Kubernetes编排有状态应用配置Etcd节点Pod我们通过StatefulSet编排创建3个Etcd节点的

    30140

    Kubernetes部署Etcd集群

    部署Etcd集群Etcd 是一个分布式键值存储系统,Kubernetes使用Etcd进行数据存储,所以先准备一个Etcd数据库,为解决Etcd单点故障,应采用集群方式部署,这里使用3台组建集群,可容忍1 usrlocalbincfsslmv cfssljson_linux-amd64 usrlocalbincfssljsonmv cfssl-certinfo_linux-amd64 usrbincfssl-certinfo生成Etcd 证书---自签证书颁发机构(CA)在k8s-master1节点执行---创建工作目录并进入mkdir -p ~TLS{etcd,k8s} && cd TLSetcd在k8s-master1节点执行---

    11310

    附012.Kubeadm部署高可用Kubernetes

    一 kubeadm介绍1.1 概述参考《附003.Kubeadm部署Kubernetes》。1.2 kubeadm功能参考《附003.Kubeadm部署Kubernetes》。 二 部署规划2.1 节点规划 节点主机名 IP 类型 运行服务 k8smaster01 172.24.8.71 Kubernetes master节点 docker、etcd、kube-apiserver 、calico k8smaster03 172.24.8.73 Kubernetes master节点 docker、etcd、kube-apiserver、kube-scheduler、kube-controller-manager k8snode02 172.24.8.75 Kubernetes node节点2 docker、kubelet、proxy、calico k8snode03 172.24.8.76 Kubernetes ,单独挂了一台master或etcd对集群的影响很小提示:本实验使用高可用架构一实现Kubernetes的高可用。

    33721

    Kubernetes进阶学习之k8s集群升级迁移和维护实践

    TOC 0x00 Kubernetes Etcd 数据备份与恢复描述:Kubernetes 使用 Etcd 数据库实时存储集群中的数据,可以说 EtcdKubernetes 的核心组件,犹如人类的大脑 如果 Etcd 数据损坏将导致 Kubernetes 不可用,在生产环境中 Etcd 数据是一定要做好高可用与数据备份,这里介绍下如何备份与恢复 Etcd 数据。 Etcd 版本说明:$ etcdctl versionetcdctl version: 3.4.13API version: 3.41) 备份 ETCD 数据实践Step 1.查询当前 Kubernetes 数据实践描述: 在 Etcd 数据损坏时,可以通过 Etcd 备份数据进行数据恢复,先暂停 Kubernetes 相关组件,然后进入 Etcd 镜像使用 etcdctl 工具执行恢复操作。 Step 1.暂停 Kube-Apiserver 与 Etcd 镜像在恢复 Etcd 数据前,需要停止 kube-apiserver 与 etcd 镜像,因为当这俩镜像停止后 Kubernetes 会自动重启这俩镜像

    26601

    K8S学习笔记之二进制的方式创建一个Kubernetes集群

    0x00 单节点搭建和简述minikubeMinikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 0x01 Kubernetes集群部署架构规划软件环境?硬件环境?Kubernetes 架构图 ?Kubernetes工作流程 ? -linux-amd64{etcd,etcdctl} optetcdbin创建etcd配置文件,注意在不同节点上操作,要替换为各个节点的IP,此处是135节点的示例# vim optetcdcfgetcd 如果不通检查下日志:journalctl -u flannel0x05 在Master节点部署组件在部署Kubernetes之前一定要确保etcd、flannel、docker是正常工作的,否则先解决问题再继续 ,并且确保etcd是正常运行。

    57220

    初识 Kubernetes API 的组织结构

    etcd 交互实现 kubernetes 资源(例如 pod、namespace、configMap、service 等)的持久化,对外提供通过 RESTFul 的形式提供 kubernetes API API-Server 是 kubernetes 控制层面中唯一一个与 etcd 交互的组件,kubernetes 的其他组件都要通过 API-Server 来更新集群的状态,所以说 API-Server 在 Kubernetesetcd 是如何使用的呢? 实际上,前面也提到了,etcd 被部署为独立的部分,甚至多个 etcd 可以组成集群,API-Server 负责与 etcd 交互来完成资源对象的持久化。 Kubernetes 资源对象是以 JSON 或 Protocol Buffers 格式存储在 etcd 中,这可以通过配置 kube-apiserver 的启动参数 --storage-media-type

    17130

    更新一个10年有效期的 Kubernetes 证书

    renewedcertificate for etcd nodes to communicate with each other renewedcertificate for serving etcdKubernetes 证书 API 更新证书除了上述的一键手动更新证书之外,还可以使用 Kubernetes 证书 API 执行手动证书更新。 Approved,Issuedkubeadm-cert-kube-apiserver-2s6kf 2m43s kubernetes-admin Approved,Issuedkubeadm-cert-kube-apiserver-etcd-client-t9pkx Approved,Issuedkubeadm-cert-kube-etcd-healthcheck-client-8dcn8 64s kubernetes-admin Approved,Issuedkubeadm-cert-kubernetes-admin-pn99f name: etcd-data......由于 kube-apiserver 要连接 etcd 集群,所以也需要重新修改对应的 etcd ca 文件:vi etckubernetesmanifestskube-apiserver.yaml

    1.8K10

    更新一个10年有效期的 Kubernetes 证书

    renewedcertificate for etcd nodes to communicate with each other renewedcertificate for serving etcdKubernetes 证书 API 更新证书除了上述的一键手动更新证书之外,还可以使用 Kubernetes 证书 API 执行手动证书更新。 Approved,Issuedkubeadm-cert-kube-apiserver-2s6kf 2m43s kubernetes-admin Approved,Issuedkubeadm-cert-kube-apiserver-etcd-client-t9pkx Approved,Issuedkubeadm-cert-kube-etcd-healthcheck-client-8dcn8 64s kubernetes-admin Approved,Issuedkubeadm-cert-kubernetes-admin-pn99f name: etcd-data......由于 kube-apiserver 要连接 etcd 集群,所以也需要重新修改对应的 etcd ca 文件:$ vi etckubernetesmanifestskube-apiserver.yaml

    7820

    ubuntu 16.04部署kubernetes集群【详细教程】

    -ca-key=etckubernetescaca-key.pem -config=etckubernetescaca-config.json -profile=kubernetes etcd-csr.json libsystemdsystem# 创建etcd服务systemctl enable etcd.service#启动etcd服务service etcd start# 查看服务日志,看是否有错误信息, kubernetes-csr.json | cfssljson -bare kubernetes#跟之前类似生成三个文件kubernetes.csr是个中间证书请求文件,我们最终要的是kubernetes-key.pem 和kubernetes.pemlskubernetes.csr kubernetes-csr.json kubernetes-key.pem kubernetes.pem#生成token认证文件#生成随机 --cluster=kubernetes --user=admin# 设置当前上下文kubectl config use-context kubernetes# 设置结果就是一个配置文件,可以看看内容

    2.1K20

    二进制方式部署k8s集群

    Kubernetes环境中主要用于存储所有需要持久化的数据kube-apiserver Kubernetes 主要负责暴露Kubernetes API,不管是kubectl还是HTTP调用来操作Kuberneteskubernetes的相关证书拷贝到node1和node2上,目录要对应上! ETCD部署(三台机器都需要部署)1、解压并将二进制文件拷贝到之前创建好的目录中tar -xvf etcd-v3.3.10-linux-amd64.tar.gzcd etcd-v3.3.10-linux-amd64cp etcd etcdctl k8setcdbin2、配置ETCD主文件vim k8setcdcfgetcd.conf #ETCD_NAME=etcd01 #etcd节点的名字ETCD_DATA_DIR= flannel服务启动时主要做了以下几步的工作: 从etcd中获取network的配置信息 划分subnet,并在etcd中进行注册 将子网信息记录到runflannelsubnet.env中 1、etcd

    72320

    Kubernetes-V1.14.2 二进制编译部署(master节点部署篇)

    kubernetes-csr.json | cfssljson -bare kubernetescp kubernetes*.pem appkubernetessslscp kubernetes*.pem =appkubernetessslca.pem --etcd-certfile=appkubernetessslkubernetes.pem --etcd-keyfile=appkubernetessslkubernetes-key.pem --etcd-servers=https:192.168.189.139:2379,https:192.168.189.131:2379,https:192.168.189.132:2379 -- cs正常则为:# kubectl get csNAME STATUS MESSAGE ERRORscheduler Healthy ok controller-manager Healthy ok etcd -0 Healthy {health:true} etcd-2 Healthy {health:true} etcd-1 Healthy {health:true}===================

    91050

    03-创建高可用 etcd 集群

    创建高可用 etcd 集群kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点使用以下机器:192.168.1.121192.168.1.122192.168.1.123TLS 认证文件需要为 etcd 集群创建加密通信的 TLS 证书,这里复用之前创建的 kubernetes 证书# cp ca.pem kubernetes-key.pem kubernetes.pem etckubernetesssl #之前执行过cp *.pem etckubernetesssl就忽略kubernetes 证书的 hosts 字段列表中必须包含上面三台机器的 IP,否则后续证书校验会失败;下载二进制文件到 https -linux-amd64.tar.gz# cp etcd-v3.1.4-linux-amd64etcd* usrbin创建 etcd 的 systemd unit 文件Description=Etcd start etcd# systemctl status etcd在所有的 kubernetes master 节点重复上面的步骤,直到所有机器上的 etcd 服务都已正常启动。

    49220

    『高级篇』docker之kubernetes基础集群部署(上)(33)

    基础集群部署 - kubernetes-simple部署ETCD(主节点)简介  ETCD保证了数据的存储,保证了数据的高可用,还有数据的一致性,它跟zookeeper类似。 kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运行的pod,deployment,service等等。都需要持久化。etcd就是它的数据中心。 PS: 提示start etcd 已经启动部署APIServer(主节点)简介kube-apiserver是Kubernetes最重要的核心组件之一,主要提供以下的功能提供集群管理的REST API接口 部署流程跟etcd完全一样,不再注释cp kubernetes-startertargetmaster-nodekube-apiserver.service libsystemdsystemsystemctl 打交道,也是唯一可以直接操作etcd的模块--etcd-servers=http:192.168.1.102:2379 ...?

    19130

    kubernetes 安装遇到的一些问题

    try again.解决办法: 复制# mkdir -p varrunkubernetes# chown -R kube.kube varrunkubernetes# for SERVICES in etcd 复制# kubectl delete -f kubernetes-dashboard.yaml修改 kubernetes-dashboard.yaml 文件加入以下行 复制# vim kubernetes-dashboard.yaml 复制# kubectl create -f kubernetes-dashboard.yaml6. Point this to the server where etcd runsFLANNEL_ETCD=http:192.168.2.247:2379 # etcd config key. Point this to the server where etcd runsFLANNEL_ETCD=http:192.168.2.247:2379 # etcd config key.

    1.2K40

    如何收集和监控etcd指标?揭开etcd神秘面纱

    当只有再次连接etcdKubernetes,状态不一致将会导致额外故障。 3 如何监控etcd你可以在kubernetes上,在Docker 容器上,或者作为独立集群(部署在VM或裸金属之上)运行etcd。 直接通过节点上的端口获取etcd指标,需要身份认证。Etcd是所有kubernetes集群的核心,所以它的指标也很保护的。 监控etcd:应该关注什么免责声明:etcd指标可能会因为kubernetes的版本不同而有所区别。在这里,我们使用kubernetes的版本是1.15。 利用sysdig montitor监控etcd相对容易,一个工具既监控了etcd又监控了kubernetes

    2K20

    CNCF托管etcd

    etcdKubernetes等系统的真实来源,”TOC代表和项目赞助者,Google首席工程师,Kubernetes SIG架构联合主席和指导委员会成员Brian Grant说。 etcd为云原生分布式系统提供了必要的协调机制,本身就是云原生。”所有Kubernetes集群都使用etcd作为其主要数据存储。 除了Kubernetes之外,Cloud Foundry也使用etcd作为其分布式键值存储。 “Kubernetes和许多其他项目如Cloud Foundry依赖于etcd来实现可靠的数据存储。 做到无处不在的部分方式是让每个人都使用它,而etcdKubernetes的使用达到临界质量,并且从那以后扩展到许多其他项目和用户。

    27130

    如何安装一个高可用K3s集群?

    Janakiram是云原生计算基金会的大使,也是首批Kubernetes认证管理员和Kubernetes认证应用开发者之一。他曾在微软、AWS、GigaomResearch等知名公司工作。 在之前的文章中,我们已经了解到如何设置一个多节点的etcd集群。在本文中,我们将利用相同的基础架构来设置和配置一个基于K3s的高可用Kubernetes集群。 高可用Kubernetes集群 Kubernetes集群的控制平面大多是是无状态的。唯一有状态的控制平面组件是etcd数据库,它为整个集群充当了唯一事实来源。 配置高可用(HA)Kubernetes集群的拓扑有两种选择,这取决于如何设置etcd。 第一种拓扑是基于堆栈集群设计的,每个节点与控制平面一起运行一个etcd实例。 这种拓扑结构要求HA Kubernetes集群至少有三种堆栈控制平面模式。Kubeadm,这个流行的集群安装工具,使用这种拓扑来配置Kubernetes集群。

    64900

    相关产品

    • 容器服务

      容器服务

      腾讯云容器服务(Tencent Kubernetes Engine ,TKE)基于原生kubernetes提供以容器为核心的、高度可扩展的高性能容器管理服务。腾讯云容器服务完全兼容原生 kubernetes API ,扩展了腾讯云的云硬盘、负载均衡等 kubernetes 插件,为容器化的应用提供高效部署、资源调度、服务发现和动态伸缩等一系列完整功能,解决用户开发、测试及运维过程的环境一致性问题,提高了大规模容器集群管理的便捷性,帮助用户降低成本,提高效率。容器服务提供免费使用,涉及的其他云产品另外单独计费。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券