k8s二进制安装之etcd

etcd

安装etcd
wget https://github.com/etcd-io/etcd/releases/download/v3.3.9/etcd-v3.3.9-linux-amd64.tar.gz
tar -xvf etcd-v3.3.9-linux-amd64.tar.gz
mv etcd-v3.3.9-linux-amd64/etcd* /usr/local/bin/
创建etcd启动文件
cat > /usr/lib/systemd/system/etcd.service << EOF
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
ExecStart=/usr/local/bin/etcd \  --name k8s-master \  --cert-file=/etc/kubernetes/ssl/kubernetes.pem \  --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \  --peer-cert-file=/etc/kubernetes/ssl/kubernetes.pem \  --peer-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \  --trusted-ca-file=/etc/kubernetes/ssl/ca.pem \  --peer-trusted-ca-file=/etc/kubernetes/ssl/ca.pem \  --initial-advertise-peer-urls https://172.16.20.206:2380 \  --listen-peer-urls https://172.16.20.206:2380 \  --listen-client-urls https://172.16.20.206:2379,http://127.0.0.1:2379 \  --advertise-client-urls https://172.16.20.206:2379 \  --initial-cluster-token etcd-cluster \  --initial-cluster k8s-master=https://172.16.20.206:2380,k8s-node1=https://172.16.20.207:2380,k8s-node2=https://172.16.20.208:2380 \  --initial-cluster-state new \  --data-dir=/var/lib/etcd
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF

#####说明
etcd 的数据目录为 /var/lib/etcd,需在启动服务前创建这个目录,否则启动服务的时候会报错“Failed at step CHDIR spawning /usr/bin/etcd: No such file or directory”;
--name 选项后面的名字要和当前主机名相同
--initial-advertise-peer-urls,--listen-peer-urls,--listen-client-urls,--listen-client-urls,--advertise-client-urls,必须为本机IP
--initial-cluster 注意集群IP和主机名的对应关系
#####说明
指定 etcd 的工作目录为 /var/lib/etcd,数据目录为 /var/lib/etcd,需在启动服务前创建这两个目录;
为了保证通信安全,需要指定 etcd 的公私钥(cert-file和key-file)、Peers 通信的公私钥和 CA 证书(peer-cert-file、peer-key-file、peer-trusted-ca-file)、客户端的CA证书(trusted-ca-file);
创建 kubernetes.pem 证书时使用的 kubernetes-csr.json 文件的 hosts 字段包含所有 etcd 节点的IP,否则证书校验会出错;
--initial-cluster-state 值为 new 时,--name 的参数值必须位于 --initial-cluster 列表中;

分发到各个节点

分发etcd.service , etcd.conf,/usr/local/bin/etcd* 到各个节点的对应目录;修改etcd.conf的对应配合为当前节点信息。

scp -r /usr/local/bin/etcd* k8s-node1:/usr/local/bin/
scp -r /usr/local/bin/etcd* k8s-node2:/usr/local/bin/
scp -r /etc/etcd k8s-node1:/etc/
scp -r /etc/etcd k8s-node2:/etc/
scp /usr/lib/systemd/system/etcd.service k8s-node1:/usr/lib/systemd/system/
scp /usr/lib/systemd/system/etcd.service k8s-node2:/usr/lib/systemd/system/
启动etcd

所有节点执行

systemctl daemon-reload
systemctl start etcd
systemctl status etcd
systemctl enable etcd
验证
etcdctl   --ca-file=/etc/kubernetes/ssl/ca.pem   --cert-file=/etc/kubernetes/ssl/kubernetes.pem   --key-file=/etc/kubernetes/ssl/kubernetes-key.pem   cluster-health

member 4cc910cd64041b9f is healthy: got healthy result from https://172.16.20.206:2379
member 71e662482c67f8f0 is healthy: got healthy result from https://172.16.20.207:2379
member d3813a08e230ddef is healthy: got healthy result from https://172.16.20.208:2379
cluster is healthy
######  清除所有数据

etcdctl del / --prefix

原文地址:https://blog.51cto.com/phospherus/2445744

时间: 2024-10-17 06:08:36

k8s二进制安装之etcd的相关文章

K8S二进制安装

k8s二进制安装先记录下安装步骤 部署前所有节点关闭firewalld(systemctl stop firewalld),并同步互联网时间.1.自签ETCD证书2.ETCD部署3.Node安装Docker4.Flannel部署(先写入子网到etcd)5.自签APIServer证书6.部署APIServer组件(token.csv)7.部署controller-manager(指定apiserver证书)和scheduler组件8.生成kubeconfig(bootstrap.kubeconfi

k8s 二进制安装 1.11.0

本篇安装单个etcd,然后进行扩容etcd节点至2个.3个 二进制安装k8s 1.11.0 实验架构 master: 192.168.0.91 etcd node2: 192.168.0.92 node3: 192.168.0.93 1.环境配置 如下操作在所有节点操作 配置hosts解析 [[email protected]-10-1-1-8 k8s]# hostnamectl set-hostname master [[email protected]-10-1-1-68 ~]# hostn

二进制安装K8S集群

centos linux7.5 cat > /etc/hosts << EOF 192.168.199.221 master 192.168.199.222 node1 192.168.199.223 node2 EOF 1.关闭防火墙.关闭selinux.关闭swapoff -a systemctl stop firewalldselinux=disabledswapoff -a 2.安装docker 1)常用方法 a.配置yum源 阿里镜像源 yum-config-manager -

k8s二进制部署

k8s二进制部署 1.环境准备 主机名 ip地址 角色 k8s-master01 10.0.0.10 master k8s-master02 10.0.0.11 master k8s-node01 10.0.0.12 node k8s-node02 10.0.0.13 node 初始化操作 关闭防火墙 关闭selinux 关闭swap 安装ntp使时间同步 配置域名解析 配置免密 k8s-master01 到其他机器. 安装docker 2.生成配置CFSSL CFFSL能够构建本地CA,生成后

Kubernetes群集之:二进制部署单etcd,多节点集群

Kubernetes集群部署 1.官方提供的三种部署方式2.Kubernetes平台环境规划3.自签SSL证书4.Etcd数据库群集部署 5.Node安装Docker6.Flannel容器集群网络部署7.部署Master组件8.部署Node组件9.部署一个测试示例10.部署Web UI(Dashboard)11.部署集群内部DNS解析服务(CoreDNS) 官方提供的三种部署方式: minikube: Minikube是一个工具,可以在本地快速运行单点的Kubernetes,仅用于尝试Kuber

ELK 二进制安装并收集nginx日志

对于日志来说,最常见的需求就是收集.存储.查询.展示,开源社区正好有相对应的开源项目:logstash(收集).elasticsearch(存储+搜索).kibana(展示),我们将这三个组合起来的技术称之为ELKStack,所以说ELKStack指的是Elasticsearch(java).Logstash(jruby).Kibana技术栈的结合, ELK5.X搭建并收集Nginx日志 ELK ELK5.X搭建并收集Nginx日志一.基础环境配置及软件包下载 二.安装Elasticsearch

mysql二进制安装启动的问题

二进制安装后,启动时出现问题(mysql安装在/application/msyql下): [[email protected] bin]# /etc/init.d/mysqld startStarting MySQL.170320 22:21:51 mysqld_safe The file /usr/local/mysql/bin/mysqlddoes not exist or is not executable. Please cd to the mysql installationdirec

轻松使用二进制安装Mysql5.6

二进制安装mysql5.6 系统环境:Centos6.5 x86_64 mysql二进制包:mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz #解压tar包到指定安装目录: cp mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz /data/ tar -zxf /data/mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz #创建mysql数据存储目录 mkdir /data/mysqldata

mysql二进制安装,升级,多实例部署

目标 理解线上部署考虑的因素 学会编译安装以及二进制安装mysql 学会升级mysql 学会多实例部署mysql数据库 学会合理部署mysql线上库 考虑因素: 版本选择,5.1,5.5还是5.6? 分支选择,官方社区版?percona server?mariadb? 推荐官方版,简单易上手 安装方式,包安装?二进制包安装?源码安装? 线上推荐二进制包安装 路径配置,参数配置(尽量模板化,标准化) 一个实例多个库,or多个实例单个库? 二进制安装mysql 下载软件安装包 解压放到指定目录(比如