主机规划

maste01——192.168.10.63

master02——192.168.10.64

node01——192.168.10.65

node02——192.168.10.66

1、为保证k8s集群正常工作,建议先将selinux彻底改为disabled
[root@k8s-master01-10 ~]# cat /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

2、将防火墙关掉,并设置成开机不启动。防火墙在配置之前也最好清除一下。

systemctl stop firewalld

systemctl disable firewalld

iptables -F

 3、上面三步都做好了之后可以直接reboot主机

4、在主机上面创建一个目录、/opt/etcd/{bin,cfg,ssl}
将ca和server证书复制到这个ssl证书目录下。

5、上github上下载一个对应的包
https://github.com/etcd-io/etcd/releases
这里以etcd-v3.3.10-linux-amd64.tar.gz为列

解压出来到本地,进入解压好的文件夹。

会有一个、etcd和etcdctl的二进制文件,将他们复制或移动到之前定好的目录/opt/etcd/bin下面

通过以下脚本生成启动文件

#!/bin/bash
# example: ./etcd.sh etcd01 192.168.10.63 etcd02=https://192.168.10.64:2380,etcd03=https://192.168.10.65:2380

ETCD_NAME=$1
ETCD_IP=$2
ETCD_CLUSTER=$3

WORK_DIR=/opt/etcd

cat <<EOF >$WORK_DIR/cfg/etcd
#[Member]
ETCD_NAME="${ETCD_NAME}"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://${ETCD_IP}:2380"
ETCD_LISTEN_CLIENT_URLS="https://${ETCD_IP}:2379"

#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://${ETCD_IP}:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://${ETCD_IP}:2379"
ETCD_INITIAL_CLUSTER="etcd01=https://${ETCD_IP}:2380,${ETCD_CLUSTER}"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
EOF

cat <<EOF >/usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=${WORK_DIR}/cfg/etcd
ExecStart=${WORK_DIR}/bin/etcd \
--name=\${ETCD_NAME} \
--data-dir=\${ETCD_DATA_DIR} \
--listen-peer-urls=\${ETCD_LISTEN_PEER_URLS} \
--listen-client-urls=\${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
--advertise-client-urls=\${ETCD_ADVERTISE_CLIENT_URLS} \
--initial-advertise-peer-urls=\${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
--initial-cluster=\${ETCD_INITIAL_CLUSTER} \
--initial-cluster-token=\${ETCD_INITIAL_CLUSTER_TOKEN} \
--initial-cluster-state=new \
--cert-file=${WORK_DIR}/ssl/server.pem \
--key-file=${WORK_DIR}/ssl/server-key.pem \
--peer-cert-file=${WORK_DIR}/ssl/server.pem \
--peer-key-file=${WORK_DIR}/ssl/server-key.pem \
--trusted-ca-file=${WORK_DIR}/ssl/ca.pem \
--peer-trusted-ca-file=${WORK_DIR}/ssl/ca.pem
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable etcd
systemctl restart etcd

6、各启动脚本生成之后即可直接启动etcd

官方建议etcd最少3个节点,保证高可用。也可以多个奇数节点。

systemctl start etcd

启动即可,其它两个或多个节点同理布置。

如果有其它问题请先看日志/var/log/messages

转载于:https://www.cnblogs.com/xingyunfashi/p/10595043.html

k8s之创建etcd集群相关推荐

  1. Kubernetes(k8s)部署etcd集群

    Kubernetes(k8s)部署etcd集群 目录 Kubernetes(k8s)部署etcd集群 一.实验环境 二.ETCD集群部署 2.1 master 节点部署 2.1.1 定义两个脚本文件 ...

  2. k8s实践(2) etcd集群安装

    k8s实践系列的相关文件都在github:https://github.com/huangguisu/k8s.git etcd分布式键值存储系统,用于保持集群状态,比如Pod.Service等对象信息 ...

  3. docker 创建etcd集群

    1.本文采用etcd3.5.1版本,首先下载etcd3.5.1 docker镜像 docker pull quay.io/coreos/etcd:v3.5.1 2.在自己设定的目录,比如/home/e ...

  4. etcd 集群运维实践

    [编者的话]etcd 是 Kubernetes 集群的数据核心,最严重的情况是,当 etcd 出问题彻底无法恢复的时候,解决问题的办法可能只有重新搭建一个环境.因此围绕 etcd 相关的运维知识就比较 ...

  5. 用Kubernetes搭建Etcd集群和WebUI

    今天用这篇文章带大家在自己的电脑上搭建一个Kubernetes Etcd集群,Kubernetes本身的功能就依赖Etcd实现,不过并不会开放给我们的程序使用,所以需要自己单独搭建. Etcd现在是分 ...

  6. 手动安装K8s第三节:etcd集群部署

    手动安装K8s第三节:etcd集群部署 准备安装包 https://github.com/coreos/etcd 版本:3.2.18 wget https://github.com/coreos/et ...

  7. k8s之二进制安装etcd集群

    前言 kubeadm安装的集群,默认etcd是一个单机的容器化的etcd,并且k8s和etcd通信没有经过ssl加密和认证,这点是需要改造的. 所以首先我们需要先部署一个三节点的etcd集群,二进制部 ...

  8. 【运维】K8S集群部署系列之ETCD集群搭建(二)

    TLS证书生成 文章目录 TLS证书生成 简介 工具下载 创建CA认证中心 CA证书申请文件 生成CA证书和私钥 配置证书生成策略 证书验证 查看证书 验证证书 生成ETCD集群的TLS证书 服务端证 ...

  9. 【运维】K8S集群部署系列之ETCD集群搭建(四)

    ETCD集群扩容和缩容 本文将介绍生产环境下如何对ETCD集群进行扩容和缩容. 文章目录 ETCD集群扩容和缩容 新节点环境准备(node3) 下载安装包并初始化环境 网络准备 生成`node3`对等 ...

最新文章

  1. 完爆Facebook/GraphQL,APIJSON全方位对比解析(一)-基础功能
  2. EOSIO.DCT 1.3以上版本工具编写EOS智能合约重大更新
  3. OAuth 2.0 简介
  4. linux内核完全剖析0.11,linux0.11内核完全剖析 - ramdisk.c
  5. (83)FPGA时钟抖动和时钟偏斜-面试必问(七)(第17天)
  6. php怎么获取权限操作 shell,利用php利用root权限执行shell脚本必须进行以下几个步骤...
  7. java求1到20的阶乘
  8. Android6.0之AMS启动app中篇之创建app进程
  9. 原生ajax调用,JavaScript进阶之原生AJAX接口请求的方式
  10. Oracle数据库恢复删除数据的方法
  11. 有哪些好用的word文件对比工具
  12. lzma java sdk,Java LZMA 磁盘与内存压缩实现
  13. 计算机分子模拟的意义包括,计算机分子模拟
  14. linux基础(五)----linux命令系统学习----系统管理命令
  15. 量子计算 4 超光速信息传播?密度矩阵与混合态
  16. zabbix之 zabbix server 跟 agent 更换ip地址
  17. 微信小程序 post请求发送x-www-form-urlencoded类型数据
  18. Excel无法响应,挂起,冻结或停止工作
  19. cd.ssh bash: cd.ssh: 未找到命令.../没有这个文件或目录
  20. 当 AI 掌握「读心术」:DeepMind AI 已经学会相互理解

热门文章

  1. php floatval_php floatval()函数的用法详解
  2. airplay服务器linux,在Linux实现airplay
  3. matlab详细手册,matlab详细手册
  4. au人声处理_如何使用AU软件为视频降噪?
  5. java 方法 示例_Java方法参考类型和示例
  6. 安装Oracle WebCenter Content 11.1.1.8.0并将其与Oracle WebCenter Portal 11.1.1.8.0集成
  7. Spring Controller – Spring MVC控制器
  8. 如何使用InetAddress在Java中获取IP地址
  9. 开课吧Web:Web前端入行门槛低吗?
  10. MySQL与Redis缓存问题-开课吧