kubernetes 集群安装etcd集群,带证书
install etcd
- 准备证书
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
- 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
- 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
- 启动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集群,带证书相关推荐
- k8s之二进制安装etcd集群
前言 kubeadm安装的集群,默认etcd是一个单机的容器化的etcd,并且k8s和etcd通信没有经过ssl加密和认证,这点是需要改造的. 所以首先我们需要先部署一个三节点的etcd集群,二进制部 ...
- Kubernetes master无法加入etcd 集群解决方法
Kubernetes master无法加入etcd 集群解决方法 参考文章: (1)Kubernetes master无法加入etcd 集群解决方法 (2)https://www.cnblogs.co ...
- Kubernetes学习-K8S安装篇-集群安装网段划分
Kubernetes学习-K8S安装篇-集群安装网段划分 1. 集群安装网段划分 2. 网段IP常用设置 3. 集群安装网段划分注意事项 1. 集群安装网段划分 集群安装时会涉及到三个网段: 宿主机网 ...
- 备份k8s_树莓派k8s集群安装kafka集群及监控
安装准备 树莓派k8s集群 root@pi4-master01:~# kubectl get nodes -o wideNAME STATUS ROLES AGE VERSION INTERNAL-I ...
- 使用docker方式安装etcd集群,带TLS证书
网上文档也多,安装的时候,还是踩了几个坑. 现在作一个安装记录吧. 1,先作自签名的证书ca-csr.json(为了和k8s共用根证书,可能将信息调为k8s). {"CN": &q ...
- yum安装etcd集群
前一篇文章介绍了如何yum安装简单的kubernetes集群,其中etcd是单点部署.本篇我们来搭建etcd集群,方便日后搭建kubernetes HA集群架构. 1,环境配置说明 etcd1 ...
- kubernetes搭建 二、Etcd集群
etcd需要在master和node上都部署,首先在master上部署,然后把相关的二进制文件和程序拷贝到node上再修改即可 1.下载二进制包然后解压 wget https://github.com ...
- ETCD教程(一) 通过docker安装etcd集群
相关阅读: etcd教程(零)---etcd使用过程中遇到的问题 - etcd教程(二)---clientv3简单使用 - etcd教程(三)---etcd之v3API简单分析 - 本文主要记录了如何 ...
- kubernetes1.8.5集群安装(带证书)
一.安装 Docker(集群中每台服务器都需安装) cd /data/tools/kubernetes/ yum -y install docker-ce-17.09.1.ce-1.el7.cento ...
- 用Kubernetes搭建Etcd集群和WebUI
今天用这篇文章带大家在自己的电脑上搭建一个Kubernetes Etcd集群,Kubernetes本身的功能就依赖Etcd实现,不过并不会开放给我们的程序使用,所以需要自己单独搭建. Etcd现在是分 ...
最新文章
- 张杰和机器人_《80后脱口秀》吐槽高考 张杰化身“机器人”
- my ax 4 faq
- qt5使用mysql
- python实现滑块验证功能_python3.8.1+selenium实现登录滑块验证功能
- 深度学习核心技术精讲100篇(三十五)-美团餐饮娱乐知识图谱——美团大脑揭秘
- electron打包vue-cli4项目的解决方案1(项目实测)
- java下载远程文件到本地
- AD画图器件变灰如何恢复SHIFT+C清除过滤器
- 让A超链接无效的办法 阻止元素发生默认的行为
- 今天去火车站送女朋友了
- 基于DDS的信号源设计
- js面试题(2019最新)
- do还是doing imagine加to_doing与to do的用法
- 阿里视频云点播端体验Demo
- COBOL中的基本语法(转)
- 为什么没有Realtek面板?
- 在xml中定义excel的sheet_XML和Excel
- Nginx配之负载均衡、缓存、黑名单和灰度发布
- python处理时序数据总结
- Facebook如何安全度过新账号阶段不被封号
热门文章
- 音视频的采集、编码、封包成 mp4 输出
- 爱奇艺动态化框架Qigsaw开源!带来极速原生开发体验和更低crash率
- linux sdl 显示内存,Linux系统:如何解决sdl安装遇到的问题
- python列表推导式求完全数_Python列表推导式(List comprehension)
- js 不相等 多次随机数_node.js静态\动态服务器
- python中debug和run有什么区别_android应用程序开发中run和debug 有什么区别?
- python编程从入门到实践pdf_【送书PDF】Python编程从入门到实践
- go语言ATM小案例
- 自定义无穷大∞的显示内容
- 帆软 JS给填报控件(单元格)赋值 包含扩展单元格赋值