install etcd

  1. 准备证书
    https://www.kubernetes.org.cn/3096.html

在master1需要安装CFSSL工具,这将会用来建立 TLS certificates。

export CFSSL_URL="https://pkg.cfssl.org/R1.2"
wget "${CFSSL_URL}/cfssl_linux-amd64" -O /usr/local/bin/cfssl wget "${CFSSL_URL}/cfssljson_linux-amd64" -O /usr/local/bin/cfssljson chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson 

创建集群 CA 与 Certificates
在这部分,将会需要产生 client 与 server 的各组件 certificates,并且替 Kubernetes admin user 产生 client 证书。

建立/etc/etcd/ssl文件夹,然后进入目录完成以下操作。

 mkdir -p /etc/etcd/ssl && cd /etc/etcd/sslexport PKI_URL="https://kairen.github.io/files/manual-v1.8/pki"

下载ca-config.json与etcd-ca-csr.json文件,并产生 CA 密钥:

wget "${PKI_URL}/ca-config.json" "${PKI_URL}/etcd-ca-csr.json"
cfssl gencert -initca etcd-ca-csr.json | cfssljson -bare etcd-ca
ls etcd-ca*.pem
etcd-ca-key.pem  etcd-ca.pem

下载etcd-csr.json文件,并产生 kube-apiserver certificate 证书:

wget "${PKI_URL}/etcd-csr.json"   #修改IP为本地,如果是集群,每个节点IP都要添加进去
cfssl gencert \-ca=etcd-ca.pem \-ca-key=etcd-ca-key.pem \-config=ca-config.json \-profile=kubernetes \etcd-csr.json | cfssljson -bare etcdls etcd*.pem
etcd-ca-key.pem  etcd-ca.pem  etcd-key.pem  etcd.pe

若节点 IP 不同,需要修改etcd-csr.json的hosts。

完成后删除不必要文件: rm -rf *.json

确认/etc/etcd/ssl有以下文件:

ls /etc/etcd/ssl
etcd-ca.csr  etcd-ca-key.pem  etcd-ca.pem  etcd.csr  etcd-key.pem  etcd.pem
  1. Etcd 安装与设定
    首先在master1节点下载 Etcd,并解压缩放到 /opt 底下与安装:
export ETCD_URL="https://github.com/coreos/etcd/releases/download"
cd && wget -qO- --show-progress "${ETCD_URL}/v3.2.9/etcd-v3.2.9-linux-amd64.tar.gz" | tar -zx mv etcd-v3.2.9-linux-amd64/etcd* /usr/local/bin/ && rm -rf etcd-v3.2.9-linux-amd64 

完成后新建 Etcd Group 与 User,并建立 Etcd 配置文件目录:

groupadd etcd && useradd -c "Etcd user" -g etcd -s /sbin/nologin -r etcd

下载etcd相关文件,我们将来管理 Etcd:

export ETCD_CONF_URL="https://kairen.github.io/files/manual-v1.8/master"
wget "${ETCD_CONF_URL}/etcd.conf" -O /etc/etcd/etcd.conf
wget "${ETCD_CONF_URL}/etcd.service" -O /lib/systemd/system/etcd.service 

编辑/etc/etcd/etcd.conf
把IP改成本地IP,0.0.0.0的不要改。
如果是etcd集群,ETCD_INITIAL_CLUSTER="master1=https://192.168.1.144:2380,node1=https://192.168.1.145:2380,node2=https://192.168.1.146:2380"
master1,node1,node2与ETCD_NAME参数匹配。

建立 var 存放信息,然后启动 Etcd 服务:

mkdir -p /var/lib/etcd && chown etcd:etcd -R /var/lib/etcd /etc/etcd
  1. node1,node2 etcd安装(如果单点etcd跳过此步)
    从master1 copy配置文件
mkdir -p /etc/etcd/ssl && cd /etc/etcd/ssl
scp  192.168.1.144:/etc/etcd/ssl/* .
scp  192.168.1.144:/usr/local/bin/etcd* /usr/local/bin/ groupadd etcd && useradd -c "Etcd user" -g etcd -s /sbin/nologin -r etcd scp 192.168.1.144:/etc/etcd/etcd.conf /etc/etcd/etcd.conf scp 192.168.1.144:/lib/systemd/system/etcd.service /lib/systemd/system/etcd.service mkdir -p /var/lib/etcd && chown etcd:etcd -R /var/lib/etcd /etc/etcd 

vim /etc/etcd/etcd.conf
ETCD_NAME改为node1 node2, 及修改IP

  1. 启动etcd
    systemctl enable etcd.service && systemctl start etcd.service
    如为集群,则都要启动
    验证,集群内节点注意时间要同步
 export CA="/etc/etcd/ssl"ETCDCTL_API=3 etcdctl  --cacert=${CA}/etcd-ca.pem \--cert=${CA}/etcd.pem  --key=${CA}/etcd-key.pem \ --endpoints="https://192.168.1.144:2379" \ endpoint health ETCDCTL_API=3 etcdctl --cacert=${CA}/etcd-ca.pem \ --cert=${CA}/etcd.pem --key=${CA}/etcd-key.pem \ --endpoints="https://192.168.1.144:2379" \ member list

转载于:https://www.cnblogs.com/felixzh/p/9726199.html

kubernetes 集群安装etcd集群,带证书相关推荐

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

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

  2. Kubernetes master无法加入etcd 集群解决方法

    Kubernetes master无法加入etcd 集群解决方法 参考文章: (1)Kubernetes master无法加入etcd 集群解决方法 (2)https://www.cnblogs.co ...

  3. Kubernetes学习-K8S安装篇-集群安装网段划分

    Kubernetes学习-K8S安装篇-集群安装网段划分 1. 集群安装网段划分 2. 网段IP常用设置 3. 集群安装网段划分注意事项 1. 集群安装网段划分 集群安装时会涉及到三个网段: 宿主机网 ...

  4. 备份k8s_树莓派k8s集群安装kafka集群及监控

    安装准备 树莓派k8s集群 root@pi4-master01:~# kubectl get nodes -o wideNAME STATUS ROLES AGE VERSION INTERNAL-I ...

  5. 使用docker方式安装etcd集群,带TLS证书

    网上文档也多,安装的时候,还是踩了几个坑. 现在作一个安装记录吧. 1,先作自签名的证书ca-csr.json(为了和k8s共用根证书,可能将信息调为k8s). {"CN": &q ...

  6. yum安装etcd集群

       前一篇文章介绍了如何yum安装简单的kubernetes集群,其中etcd是单点部署.本篇我们来搭建etcd集群,方便日后搭建kubernetes HA集群架构. 1,环境配置说明 etcd1 ...

  7. kubernetes搭建 二、Etcd集群

    etcd需要在master和node上都部署,首先在master上部署,然后把相关的二进制文件和程序拷贝到node上再修改即可 1.下载二进制包然后解压 wget https://github.com ...

  8. ETCD教程(一) 通过docker安装etcd集群

    相关阅读: etcd教程(零)---etcd使用过程中遇到的问题 - etcd教程(二)---clientv3简单使用 - etcd教程(三)---etcd之v3API简单分析 - 本文主要记录了如何 ...

  9. kubernetes1.8.5集群安装(带证书)

    一.安装 Docker(集群中每台服务器都需安装) cd /data/tools/kubernetes/ yum -y install docker-ce-17.09.1.ce-1.el7.cento ...

  10. 用Kubernetes搭建Etcd集群和WebUI

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

最新文章

  1. 张杰和机器人_《80后脱口秀》吐槽高考 张杰化身“机器人”
  2. my ax 4 faq
  3. qt5使用mysql
  4. python实现滑块验证功能_python3.8.1+selenium实现登录滑块验证功能
  5. 深度学习核心技术精讲100篇(三十五)-美团餐饮娱乐知识图谱——美团大脑揭秘
  6. electron打包vue-cli4项目的解决方案1(项目实测)
  7. java下载远程文件到本地
  8. AD画图器件变灰如何恢复SHIFT+C清除过滤器
  9. 让A超链接无效的办法 阻止元素发生默认的行为
  10. 今天去火车站送女朋友了
  11. 基于DDS的信号源设计
  12. js面试题(2019最新)
  13. do还是doing imagine加to_doing与to do的用法
  14. 阿里视频云点播端体验Demo
  15. COBOL中的基本语法(转)
  16. 为什么没有Realtek面板?
  17. 在xml中定义excel的sheet_XML和Excel
  18. Nginx配之负载均衡、缓存、黑名单和灰度发布
  19. python处理时序数据总结
  20. Facebook如何安全度过新账号阶段不被封号

热门文章

  1. 音视频的采集、编码、封包成 mp4 输出
  2. 爱奇艺动态化框架Qigsaw开源!带来极速原生开发体验和更低crash率
  3. linux sdl 显示内存,Linux系统:如何解决sdl安装遇到的问题
  4. python列表推导式求完全数_Python列表推导式(List comprehension)
  5. js 不相等 多次随机数_node.js静态\动态服务器
  6. python中debug和run有什么区别_android应用程序开发中run和debug 有什么区别?
  7. python编程从入门到实践pdf_【送书PDF】Python编程从入门到实践
  8. go语言ATM小案例
  9. 自定义无穷大∞的显示内容
  10. 帆软 JS给填报控件(单元格)赋值 包含扩展单元格赋值