k8s之创建etcd集群
主机规划
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集群相关推荐
- Kubernetes(k8s)部署etcd集群
Kubernetes(k8s)部署etcd集群 目录 Kubernetes(k8s)部署etcd集群 一.实验环境 二.ETCD集群部署 2.1 master 节点部署 2.1.1 定义两个脚本文件 ...
- k8s实践(2) etcd集群安装
k8s实践系列的相关文件都在github:https://github.com/huangguisu/k8s.git etcd分布式键值存储系统,用于保持集群状态,比如Pod.Service等对象信息 ...
- docker 创建etcd集群
1.本文采用etcd3.5.1版本,首先下载etcd3.5.1 docker镜像 docker pull quay.io/coreos/etcd:v3.5.1 2.在自己设定的目录,比如/home/e ...
- etcd 集群运维实践
[编者的话]etcd 是 Kubernetes 集群的数据核心,最严重的情况是,当 etcd 出问题彻底无法恢复的时候,解决问题的办法可能只有重新搭建一个环境.因此围绕 etcd 相关的运维知识就比较 ...
- 用Kubernetes搭建Etcd集群和WebUI
今天用这篇文章带大家在自己的电脑上搭建一个Kubernetes Etcd集群,Kubernetes本身的功能就依赖Etcd实现,不过并不会开放给我们的程序使用,所以需要自己单独搭建. Etcd现在是分 ...
- 手动安装K8s第三节:etcd集群部署
手动安装K8s第三节:etcd集群部署 准备安装包 https://github.com/coreos/etcd 版本:3.2.18 wget https://github.com/coreos/et ...
- k8s之二进制安装etcd集群
前言 kubeadm安装的集群,默认etcd是一个单机的容器化的etcd,并且k8s和etcd通信没有经过ssl加密和认证,这点是需要改造的. 所以首先我们需要先部署一个三节点的etcd集群,二进制部 ...
- 【运维】K8S集群部署系列之ETCD集群搭建(二)
TLS证书生成 文章目录 TLS证书生成 简介 工具下载 创建CA认证中心 CA证书申请文件 生成CA证书和私钥 配置证书生成策略 证书验证 查看证书 验证证书 生成ETCD集群的TLS证书 服务端证 ...
- 【运维】K8S集群部署系列之ETCD集群搭建(四)
ETCD集群扩容和缩容 本文将介绍生产环境下如何对ETCD集群进行扩容和缩容. 文章目录 ETCD集群扩容和缩容 新节点环境准备(node3) 下载安装包并初始化环境 网络准备 生成`node3`对等 ...
最新文章
- 完爆Facebook/GraphQL,APIJSON全方位对比解析(一)-基础功能
- EOSIO.DCT 1.3以上版本工具编写EOS智能合约重大更新
- OAuth 2.0 简介
- linux内核完全剖析0.11,linux0.11内核完全剖析 - ramdisk.c
- (83)FPGA时钟抖动和时钟偏斜-面试必问(七)(第17天)
- php怎么获取权限操作 shell,利用php利用root权限执行shell脚本必须进行以下几个步骤...
- java求1到20的阶乘
- Android6.0之AMS启动app中篇之创建app进程
- 原生ajax调用,JavaScript进阶之原生AJAX接口请求的方式
- Oracle数据库恢复删除数据的方法
- 有哪些好用的word文件对比工具
- lzma java sdk,Java LZMA 磁盘与内存压缩实现
- 计算机分子模拟的意义包括,计算机分子模拟
- linux基础(五)----linux命令系统学习----系统管理命令
- 量子计算 4 超光速信息传播?密度矩阵与混合态
- zabbix之 zabbix server 跟 agent 更换ip地址
- 微信小程序 post请求发送x-www-form-urlencoded类型数据
- Excel无法响应,挂起,冻结或停止工作
- cd.ssh bash: cd.ssh: 未找到命令.../没有这个文件或目录
- 当 AI 掌握「读心术」:DeepMind AI 已经学会相互理解
热门文章
- php floatval_php floatval()函数的用法详解
- airplay服务器linux,在Linux实现airplay
- matlab详细手册,matlab详细手册
- au人声处理_如何使用AU软件为视频降噪?
- java 方法 示例_Java方法参考类型和示例
- 安装Oracle WebCenter Content 11.1.1.8.0并将其与Oracle WebCenter Portal 11.1.1.8.0集成
- Spring Controller – Spring MVC控制器
- 如何使用InetAddress在Java中获取IP地址
- 开课吧Web:Web前端入行门槛低吗?
- MySQL与Redis缓存问题-开课吧