k8s部署etcd集群(代码片段)

fenggeblog fenggeblog     2022-12-06     654

关键词:

1、k8s部署高可用etcd集群时遇到了一些麻烦,这个是自己其中一个etcd的配置文件

例如:

[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos


[Service]
User=k8s
Type=notify
WorkingDirectory=/var/lib/etcd/

ExecStart=/opt/k8s/bin/etcd   --data-dir=/var/lib/etcd \\
  --name=ELK-chaofeng04 \\
  --cert-file=/etc/etcd/cert/etcd.pem \\
  --key-file=/etc/etcd/cert/etcd-key.pem \\
  --trusted-ca-file=/etc/kubernetes/cert/ca.pem \\
  --peer-cert-file=/etc/etcd/cert/etcd.pem \\
  --peer-key-file=/etc/etcd/cert/etcd-key.pem \\
  --peer-trusted-ca-file=/etc/kubernetes/cert/ca.pem \\
  --peer-client-cert-auth \\
  --client-cert-auth \\
  --listen-peer-urls=https://172.16.0.54:2380 \\
  --initial-advertise-peer-urls=https://172.16.0.54:2380 \\
  --listen-client-urls=https://172.16.0.54:2379,https://127.0.0.1:2379 \\
  --advertise-client-urls=https://172.16.0.54:2379 \\
  --initial-cluster-token=etcd-cluster-0 \\
  --initial-cluster ELK-chaofeng04=https://172.16.0.54:2380,ELK-chaofeng05=https://172.16.0.55:2380,ELK-chaofeng06=https://172.16.0.56:2380 \\
  --initial-cluster-state=new
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

这只是其中的一个节点上的配置文件,其他的节点上的配置文件大同小异,只是IP和hostname主机名不同罢了。

2、在部署的过程中,不会发现这三个etcd的输出是这样子的:

第一个节点:

技术图片

第二个节点:

技术图片

第三个节点:

技术图片

通过输出会觉得第一个节点和第三个节点时有问题的,但是其实是没有的。三个节点分别只要能看到绿色的“activing(running)”就表示是成功的,当然,还可以再一步进行如下的验证,说明etcd集群没有问题:

技术图片

magic17.sh的脚本如下所示:

#!/bin/bash
source /opt/k8s/bin/environment.sh
for node_ip in $NODE_IPS[@]
do
    echo ">>> $node_ip" 
    ETCDCTL_API=3 /opt/k8s/bin/etcdctl     --endpoints=https://$node_ip:2379 \\
    --cacert=/etc/kubernetes/cert/ca.pem \\
    --cert=/etc/etcd/cert/etcd.pem \\
    --key=/etc/etcd/cert/etcd-key.pem endpoint health
done

 

2二进制方式搭建k8s集群(代码片段)

...置1.1环境要求1.2节点规划1.3操作系统初始化配置2ETCD集群部署2.1 准备cfssl证书生成工具2.2 生成ETCD证书2.3下载ETCD的二进制文件2.4部署ETCD集群3安装Docker4部署Master-Node4.1 生成kube-apiserver证书4.2下载并解压二进制文件4.3部署kube-a 查看详情

kubernetes集群之二进制安装部署(单master节点)(代码片段)

目录前言一、常见的K8S按照部署方式二、安装部署分析三、首先部署ETCD集群3.1ETCD介绍3.2准备CFSSL证书签发环境3.3环境部署3.3.1搭建ETCD步骤3.3.2下载准备CFSSL证书制作工具3.3.3上传etcd-cert.sh和etcd.sh到/opt/k8s/目录中3.3.4安装ETCD服务3.3.... 查看详情

用kubeadm部署生产级k8s集群(代码片段)

概述kubeadm?已?持集群部署,且在1.13?版本中?GA,?持多?master,多?etcd?集群化部署,它也是官?最为推荐的部署?式,?来是由它的?sig?组来推进的,?来?kubeadm?在很多??确实很好的利?了?kubernetes?的许多特性,接下来?篇我们来实践并了解... 查看详情

k8s高可用版本部署(代码片段)

K8S官方文档注意:该集群每个master节点都默认由kubeadm生成了etcd容器,组成etcd集群。正常使用集群,etcd的集群不能超过一半为down状态。docker的namespace:是利用宿主机内核的namespace功能实现容器的资源隔离k8s的names... 查看详情

linux企业运维——k8s高可用集群架构搭建详解(代码片段)

...验环境三、K8s高可用集群架构搭建3.1、负载均衡Loadbalancer部署—haproxy3.2、Docker部署3.3、K8s集群部署3.4、K8s集群添加worker节点四、集群高可用性能测试一、K8s高可用集群架构原理Kubernetes的存储层使用的是Etcd。Etcd是CoreOS开源的一... 查看详情

k8s------kubernetes单master集群二进制搭建(代码片段)

目录前言Kubernetes单Master节点集群二进制部署一.Kubernetes单Master集群架构二.环境准备三.Etcd集群部署1.准备签发证书环境2.生成CA证书、etcd服务器证书以及私钥3.安装Etcd4.在Master01节点启动Etcd集群节点015.将证书,命令文件,... 查看详情

k8s------kubernetes单master集群二进制搭建(代码片段)

目录前言Kubernetes单Master节点集群二进制部署一.Kubernetes单Master集群架构二.环境准备三.Etcd集群部署1.准备签发证书环境2.生成CA证书、etcd服务器证书以及私钥3.安装Etcd4.在Master01节点启动Etcd集群节点015.将证书,命令文件,... 查看详情

k8s集群架构的二进制部署——k8s集群学习的基础(代码片段)

K8S集群架构的二进制部署一、部署etcd二、部署docker引擎三、flannel网络配置四、部署master组件五、node节点部署一、部署etcdMaster上操作[root@192etcd-cert]#cd/usr/local/bin/[root@192bin]#rz-E(cfsslcfssl-certinfocfssljson)[root 查看详情

k8s高可用环境部署-1.17.3版本(代码片段)

准备在开始部署k8s高可用集群时,请先参考k8s高可用环境部署系统准备操作系统兼容性环境说明集群部署前系统环境装备,请参考k8s高可用环境部署系统准备.md本次高可用集群基本参照官网步骤进行部署,官网给出了两种拓扑结... 查看详情

二进制部署k8s单节点(代码片段)

Kubernetes集群部署环境规划一、ETCD数据库集群部署1.安装cfssl证书生成工具2.生成证书3.etcd部署3.1创建对应目录,拷贝相应文件3.2查看启动脚本3.3执行脚本等待节点加入3.4将文件拷贝到其他节点,并修改配置文件3.5启动etcd&#... 查看详情

k8s单节点集群二进制部署(步骤详细,图文详解)(代码片段)

k8s单节点集群二进制部署(步骤详细,图文详解)一、k8s集群搭建环境准备1、etcd集群master01node01node02所有node节点部署docker引擎2、flannel网络插件3、搭建master组件4、搭建node组件(1)node1节点(2)node2节... 查看详情

k8s的etcd部署以及实现pod通信(代码片段)

一、三种部署方式MinikubeMinikube是一个工具,可以在本地快速运行一个单节点微型K8s,及用于学习、预览k8s的一些特性使用部署地址:https://kubernetes.io/docs/setup/minikubeKubeadminKubeadmin也是一个工具,提供kubeadminit和kubeadmjoin,... 查看详情

k8s的etcd部署以及实现pod通信(代码片段)

一、三种部署方式MinikubeMinikube是一个工具,可以在本地快速运行一个单节点微型K8s,及用于学习、预览k8s的一些特性使用部署地址:https://kubernetes.io/docs/setup/minikubeKubeadminKubeadmin也是一个工具,提供kubeadminit和kubeadmjoin,... 查看详情

k8s的etcd部署以及实现pod通信(代码片段)

一、三种部署方式MinikubeMinikube是一个工具,可以在本地快速运行一个单节点微型K8s,及用于学习、预览k8s的一些特性使用部署地址:https://kubernetes.io/docs/setup/minikubeKubeadminKubeadmin也是一个工具,提供kubeadminit和kubeadmjoin,... 查看详情

k8s之集群部署(二进制部署)(代码片段)

...所示1. master节点2. node节点3. etcd存储  部署master.com节点根据上图所示,master节点分为三个组件(apiserver、controller-manager、scheduler)apiserver:k8s集群的总入口,基于hppts通讯。所以要部署证书。 第一步:准备k... 查看详情

linux企业运维——k8s高可用集群架构搭建详解(代码片段)

...验环境三、K8s高可用集群架构搭建3.1、负载均衡Loadbalancer部署—haproxy3.2、Docker部署3.3、K8s集群部署3.4、K8s集群添加worker节点四、集群高可用性能测试一、K8s高可用集群架构原理Kubernetes的存储层使用的是Etcd。Etcd是CoreOS开源的一... 查看详情

linux企业运维——k8s高可用集群架构搭建详解(代码片段)

...验环境三、K8s高可用集群架构搭建1、负载均衡Loadbalancer部署—haproxy2、Docker部署3、K8s集群部署4、K8s集群添加worker节点四、集群高可用性能测试一、K8s高可用集群架构原理Kubernetes的存储层使用的是Etcd。Etcd是CoreOS开源的一个高可... 查看详情

kubernetes二进制部署(单master节点)(理论部分,详细部署步骤在下一篇哦~)(代码片段)

Kubernetes二进制部署(单Master节点)(理论部分,详细部署步骤在下一篇哦~)Kubernetes二进制部署一、环境准备二、部署etcd集群1、准备签发证书环境2、签发证书步骤3、etcd-cert.sh和etcd.sh脚本4、部署流程5、使用... 查看详情