环境:ubuntu 16.04.2
cpu 4内存8 g
内核4.4.0-119
ip地址:192.168.0.62 192.168.0.63
192.168.0.64
etcd版本:3.2.12
kubernetes版本:1.11.5
一、部署etcd集群(需要sudo或者根权限)
1生成证书及etcd的二进制文件包,工具下载地址
wget - o/bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget - o/bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
chmod + x/bin/cfssl *
wget https://github.com/etcd-io/etcd/releases/download/v3.2.18/etcd-v3.2.18-linux-amd64.tar.gz
tar xf etcd-v3.2.18-linux-amd64.tar。广州
cp etcd-v3.2.18-linux-amd64/etcd */usr/bin/ca-config
2.。json配置文件,修改过期时间为10年(红色部分)
内容如下:
{
“签署”:{
“默认”:{
“到期”:“87600 h”
},
“配置文件”:{
" etcd ": {
“到期”:“87600 h”,
“用法”:[
“签字”,
“关键加密”,
“客户端身份验证”,
"服务器身份验证"
]
}
}
}
}
3. ca-csr。json配置文件如下:
{
“CN”:“etcd”
“关键”:{
“算法”:“rsa”
“大小”:2048年
},
"名称":[
{
“C”:“CN”
“圣”:“上海”,
“L”:“上海”,
“O”:“etcd”
“或者”:“系统”
})
}
4. etcd集群的etcd-csr。json
{
“CN”:“etcd”
“主机”:[
" 127.0.0.1 "
" 192.168.0.62 "
" 192.168.0.63 "
“192.168.0.64”],
“关键”:{
“算法”:“rsa”
“大小”:2048年
},
"名称":[
{
“C”:“CN”
“圣”:“上海”,
“L”:“上海”,
“O”:“etcd”
“或者”:“系统”
})
}
4。生成证书并自签名
cfssl gencert -initca ca-csr。json | cfssljson光秃秃的ca
cfssl gencert ca=ca。pem -ca-key=ca-key。pem配置=ca-config。json文件=etcd etcd-csr。json | cfssljson裸etcd
复制pem文件到你指定的目录,3台主机都要复制的
不建议使用目录/etc/kubernetes/pki/etcd
mkdir - p/etc/etcdCA
cp *。pem/etc/etcdCA
5. etcd的配置文件如下,红色部分自行更改。复制配置文件为/etc/违约/etcd
ETCD_NAME=
ETCD_DATA_DIR="/var/lib/etcd/?/p>
ETCD_LISTEN_PEER_URLS=" https://: 2380 "
ETCD_LISTEN_CLIENT_URLS=" https://: 2379, https://127.0.0.1:4001
ETCD_INITIAL_ADVERTISE_PEER_URLS=" https://: 2380 "
ETCD_INITIAL_CLUSTER=" "
ETCD_INITIAL_CLUSTER_STATE=靶隆?/p>
ETCD_INITIAL_CLUSTER_TOKEN=癳tcd-cluster-sdn”
ETCD_ADVERTISE_CLIENT_URLS=" https://: 2379 "
CLIENT_CERT_AUTH=" true "
ETCD_CA_FILE="/etc/etcdCA/ca.pem”
ETCD_CERT_FILE="/etc/etcdCA/etcd.pem”
ETCD_KEY_FILE="/etc/etcdCA/etcd-key.pem”
PEER_CLIENT_CERT_AUTH=" true "
ETCD_PEER_CA_FILE="/etc/etcdCA/ca.pem”
ETCD_PEER_CERT_FILE="/etc/etcdCA/etcd.pem”
ETCD_PEER_KEY_FILE="/etc/etcdCA/etcd-key。pem”
6。创建用户和服务并授权
useradd etcd
chmod 755/etc/etcdCA/*
回声”(单位)
=etcd -可用性描述键值存储文档
=https://github.com/coreos/etcd文档=男人:etcd=network.target后
希望=network-online.target
[服务]环境=DAEMON_ARGS=
环境=ETCD_NAME=% H
环境=ETCD_DATA_DIR=/var/lib/etcd/违约
EnvironmentFile=-/etc/违约/% p
Type=通知用户=etcd
PermissionsStartOnly=true
# ExecStart=/bin/sh - c”GOMAXPROCS=(nproc)/usr/bin/etcd DAEMON_ARGS美元"
ExecStart=/usr/bin/美元etcd DAEMON_ARGS
重启=对异常的
# RestartSec=10 s
# LimitNOFILE=65536
(安装)WantedBy=multi-user.target
=etcd3别名。服务的祝辞/lib/systemd/系统/etcd。服务
7。启动服务
systemctl开始etcd
8。检查集群状态
出口ETCDCTL_API=3 etcdctl \ ——cacert=/etc/etcdCA/ca。pem \ ——cert=/etc/etcdCA/etcd。pem \ ——关键=/etc/etcdCA/etcd-key。pem \ ——端点=192.168.0.62:2379 192.168.0.63:2379 192.168.0.64:2379 \ 端点健康
看到下图就好了