Etcd v3命令行安装

为确保安全,kubernetes 系统各组件需要使用 x509 证书对通信进行加密和认证。
CA (Certificate Authority) 是自签名的根证书,用来签名后续创建的其它证书。

在以下3台机器上部署etcd集群,用命令行部署,而不是systemd系统服务的方式。
10.15.3.99 hostA
10.15.3.100 hostB
10.15.3.101 hostC

etcd服务部署骤:

下载二进制包

wget https://github.com/etcd-io/etcd/releases/download/v3.3.11/etcd-v3.3.11-linux-amd64.tar.gz
tar zxvf etcd-v3.3.11-linux-amd64.tar.gz
cd etcd-v3.3.11-linux-amd64
cp etcd etcdctl /usr/bin/

添加系统服务:
vim /usr/lib/systemd/system/etcd.service

[Unit]
Description=Etcd Server
After=network.target

[Service]
EnvironmentFile=/etc/etcd/etcd.conf

ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd \
        ${ETCD_NAME}    \
        ${ETCD_DATA_DIR} \
        ${ETCD_LISTEN_CLIENT_URLS} \
        ${ETCD_ADVERTISE_CLIENT_URLS}      \
        ${ETCD_LISTEN_PEER_URLS}               \
        ${ETCD_INITIAL_ADVERTISE_PEER_URLS}    \
        ${ETCD_INITIAL_CLUSTER}                \
        ${ETCD_INITIAL_CLUSTER_STATE}          \
        ${ETCD_CERT_FILE}          \
        ${ETCD_KEY_FILE}          \
        ${ETCD_TRUSTED_CA_FILE}          \
        ${ETCD_CLIENT_CERT_AUTH}          \
        ${ETCD_PEER_CERT_FILE}          \
        ${ETCD_PEER_KEY_FILE}          \
        ${ETCD_PEER_TRUSTED_CA_FILE}          \
        ${ETCD_PEER_CLIENT_CERT_AUTH}   \
        ${ETCD_INITIAL_CLUSTER_TOKEN}"

Restart=on-failure
KillMode=process

[Install]
WantedBy=multi-user.target

systemctl daemon-reload;systemctl enable etcd

生成证书

利用cfssl 工具生成etcd需要的自签名证书,

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64;
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64;
chmod +x cfssl_linux-amd64 cfssljson_linux-amd64;
mv cfssl_linux-amd64 /usr/local/bin/cfssl;mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
mkdir -p /opt/k8s/cert && cd /opt/k8s/cert

echo '{"CN":"CA","key":{"algo":"rsa","size":2048}}' | cfssl gencert -initca - | cfssljson -bare ca -  #Generate a new key and cert from CSR
echo '{"signing":{"default":{"expiry":"438000h","usages":["signing","key encipherment","server auth","client auth"]}}}' > ca-config.json  #配置ca-config文件
#定义证书的info
export ADDRESS="10.15.3.99,10.15.3.100,10.15.3.101,hostA,hostB,hostC"
export NAME=etcd-server-test 

#生成etcd-server.csr etcd-server-key.pem etcd-server.pem三个文件
echo '{"CN":"'$NAME'","hosts":[""],"key":{"algo":"rsa","size":2048}}' | cfssl gencert -config=ca-config.json -ca=ca.pem -ca-key=ca-key.pem -hostname="$ADDRESS" - | cfssljson -bare $NAME

mkdir /etc/kubernetes/cfssl/ -p && cd 
cp etcd-server.csr etcd-server-key.pem etcd-server.pem /etc/kubernetes/cfssl/

启动etcd服务:

# [member]
ETCD_NAME="--name node1"
ETCD_DATA_DIR="--data-dir /var/lib/etcd/default.etcd"
ETCD_INITIAL_ADVERTISE_PEER_URLS="--initial-advertise-peer-urls https://10.15.3.99:2380"
ETCD_LISTEN_PEER_URLS="--listen-peer-urls https://10.15.3.99:2380"
ETCD_LISTEN_CLIENT_URLS="--listen-client-urls https://10.15.3.99:2379"
ETCD_ADVERTISE_CLIENT_URLS="--advertise-client-urls https://10.15.3.99:2379"
ETCD_INITIAL_CLUSTER="--initial-cluster node1=https://10.15.3.99:2380,node2=https://10.15.3.100:2380,node3=https://10.15.3.101:2380"
ETCD_INITIAL_CLUSTER_STATE="--initial-cluster-state new"
ETCD_INITIAL_CLUSTER_TOKEN="--initial-cluster-token k8s-etcd"
ETCD_CERT_FILE="--cert-file /etc/kubernetes/cfssl/etcd-server.pem"
ETCD_KEY_FILE="--key-file /etc/kubernetes/cfssl/etcd-server-key.pem"
ETCD_TRUSTED_CA_FILE="--trusted-ca-file /etc/kubernetes/cfssl/ca.pem"
ETCD_CLIENT_CERT_AUTH="--client-cert-auth"
ETCD_PEER_CERT_FILE="--peer-cert-file /etc/kubernetes/cfssl/etcd-server.pem"
ETCD_PEER_KEY_FILE="--peer-key-file /etc/kubernetes/cfssl/etcd-server-key.pem"
ETCD_PEER_TRUSTED_CA_FILE="--peer-trusted-ca-file /etc/kubernetes/cfssl/ca.pem"
ETCD_PEER_CLIENT_CERT_AUTH="--peer-client-cert-auth"

查看集群状态:

cd /opt/etcd/;
[root@hostB etcd]# ETCDCTL_API=3 bin/etcdctl --endpoints=https://10.15.3.100:2382 --cacert="/opt/etcd/ssl/ca.pem" --cert="/opt/etcd/ssl/hostB.pem" --key="/opt/etcd/ssl/hostB-key.pem"   member list                
484582efdd605f84, started, hostB, https://10.15.3.100:2381, https://10.15.3.100:2382
5fba8cb2a3e03684, started, hostC, https://10.15.3.101:2381, https://10.15.3.101:2382
6b6b9ebfd3739327, started, hostA, https://10.15.3.99:2381, https://10.15.3.99:2382
[root@hostB etcd]# ETCDCTL_API=3 bin/etcdctl --endpoints=https://10.15.3.100:2382 --cacert="/opt/etcd/ssl/ca.pem" --cert="/opt/etcd/ssl/hostB.pem" --key="/opt/etcd/ssl/hostB-key.pem" endpoint health   
https://10.15.3.100:2382 is healthy: successfully committed proposal: took = 1.421705ms

参数解释:
--cacert=""    verify certificates of TLS-enabled secure servers using this CA bundle   //ca证书
--cert=""        identify secure client using this TLS certificate file  //证书文件
--key=""        identify secure client using this TLS key file   //私钥文件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容