配置Etcd集群和TLS认证
admin
2023-04-08 03:02:47
0

一、安装前准备

etcd软件版本:etcd-v3.3.10-linux-amd64.tar.gz

系统:centos7.3

防火墙关闭

systemctl stop firewalld

systemctl disable firewalld

 

selinux关闭

 

 

配置/etc/hosts(三台操作)

192.168.159.121 k8s-master-01

192.168.159.122 k8s-node01

192.168.159.123  k8s-node02

配置时间同步

yum -y install ntpdate

crontab e

#时间同步

*/5 * * * *  /usr/sbin/ntpdate 0.asia.pool.ntp.org

二、配置免密钥登录(三台操作)

三台先操作

ssh-keygen

三台操作

ssh-copy-id -i /root/.ssh/id_rsa.pub  root@k8s-node01

ssh-copy-id -i /root/.ssh/id_rsa.pub  root@k8s-node02

ssh-copy-id -i /root/.ssh/id_rsa.pub  root@k8s-master-01

 

三、安装etcd软件

三台创建目录

mkdir  -p  /app/etcd/{bin,cfg,ssl}

解压文件

tar zxvf etcd-v3.3.10-linux-amd64.tar.gz

cp etcd-v3.3.10-linux-amd64/{etcd,etcdctl} /app/etcd/bin/

scp /app/etcd/bin/* root@k8s-node01:/app/etcd/bin/

scp /app/etcd/bin/* root@k8s-node02:/appt/etcd/bin/

 

 

四、配置etcd tls

1、下载cfssl(三台操作)

curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl

curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson

curl -L https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo

chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo

 

2、生成证书

mkdir etcd-cert

cd  etcd-cert

 

vi  etcd-cert.sh

 

cat > ca-config.json <

{

  "signing": {

    "default": {

      "expiry": "87600h"

    },

    "profiles": {

      "www": {

         "expiry": "87600h",

         "usages": [

            "signing",

            "key encipherment",

            "server auth",

            "client auth"

        ]

      }

    }

  }

}

EOF

 

cat > ca-csr.json <

{

    "CN": "etcd CA",

    "key": {

        "algo": "rsa",

        "size": 2048

    },

    "names": [

        {

            "C": "CN",

            "L": "zhejiang",

            "ST": "hangzhou"

        }

    ]

}

EOF

 

cfssl gencert -initca ca-csr.json | cfssljson -bare ca -

 

#-----------------------

 

cat > server-csr.json <

{

    "CN": "etcd",

    "hosts": [

    "192.168.159.121",

    "192.168.159.122",

    "192.168.159.123"

    ],

    "key": {

        "algo": "rsa",

        "size": 2048

    },

    "names": [

        {

            "C": "CN",

            "L": "zhejiang",

            "ST": "hangzhou"

        }

    ]

}

EOF

 

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=www server-csr.json | cfssljson -bare server

 

 

执行脚本生成证书

sh  etcd-cert.sh

配置Etcd集群和TLS认证配置Etcd集群和TLS认证 

把生成证书到三台/app/etcd/ssl/

cp  ca.pem server-key.pem server.pem /app/etcd/ssl/

scp  /app/etcd/ssl/*  k8s-node01:/app/etcd/ssl/

scp  /app/etcd/ssl/*  k8s-node02:/app/etcd/ssl/

 

五、配置etcd加证书

1k8s-master-01主机配置

配置

vi  /app/etcd/cfg/etcd

 

#[Member]

ETCD_NAME="etcd01"

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

ETCD_LISTEN_PEER_URLS="https://192.168.159.121:2380"

ETCD_LISTEN_CLIENT_URLS="https://192.168.159.121:2379"

 

#[Clustering]

ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.159.121:2380"

ETCD_ADVERTISE_CLIENT_URLS="https://192.168.159.121:2379"

ETCD_INITIAL_CLUSTER="etcd01=https://192.168.159.121:2380,etcd02=https://192.168.159.122:2380,etcd03=https://192.168.159.123:2380"

ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_INITIAL_CLUSTER_STATE="new"

 

配置etcd自动启动脚本

vi  /usr/lib/systemd/system/etcd.service

 

[Unit]

Description=Etcd Server

After=network.target

After=network-online.target

Wants=network-online.target

 

[Service]

Type=notify

EnvironmentFile=/app/etcd/cfg/etcd

ExecStart=/app/etcd/bin/etcd --name=${ETCD_NAME} --data-dir=${ETCD_DATA_DIR} --listen-peer-urls=${ETCD_LISTEN_PEER_URLS} --listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 --advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} --initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} --initial-cluster=${ETCD_INITIAL_CLUSTER} --initial-cluster-token=${ETCD_INITIAL_CLUSTER_TOKEN} --initial-cluster-state=new --cert-file=/app/etcd/ssl/server.pem --key-file=/app/etcd/ssl/server-key.pem --peer-cert-file=/app/etcd/ssl/server.pem --peer-key-file=/app/etcd/ssl/server-key.pem --trusted-ca-file=/app/etcd/ssl/ca.pem --peer-trusted-ca-file=/app/etcd/ssl/ca.pem

Restart=on-failure

LimitNOFILE=65536

 

[Install]

WantedBy=multi-user.target

 

2配置k8s-node01主机配置

配置

vi  /app/etcd/cfg/etcd

 

#[Member]

ETCD_NAME="etcd02"

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

ETCD_LISTEN_PEER_URLS="https://192.168.159.122:2380"

ETCD_LISTEN_CLIENT_URLS="https://192.168.159.122:2379"

 

#[Clustering]

ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.159.122:2380"

ETCD_ADVERTISE_CLIENT_URLS="https://192.168.159.122:2379"

ETCD_INITIAL_CLUSTER="etcd01=https://192.168.159.121:2380,etcd02=https://192.168.159.122:2380,etcd03=https://192.168.159.123:2380"

ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_INITIAL_CLUSTER_STATE="new"

 

配置etcd自动启动脚本

vi  /usr/lib/systemd/system/etcd.service

 

[Unit]

Description=Etcd Server

After=network.target

After=network-online.target

Wants=network-online.target

 

[Service]

Type=notify

EnvironmentFile=/app/etcd/cfg/etcd

ExecStart=/app/etcd/bin/etcd --name=${ETCD_NAME} --data-dir=${ETCD_DATA_DIR} --listen-peer-urls=${ETCD_LISTEN_PEER_URLS} --listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 --advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} --initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} --initial-cluster=${ETCD_INITIAL_CLUSTER} --initial-cluster-token=${ETCD_INITIAL_CLUSTER_TOKEN} --initial-cluster-state=new --cert-file=/app/etcd/ssl/server.pem --key-file=/app/etcd/ssl/server-key.pem --peer-cert-file=/app/etcd/ssl/server.pem --peer-key-file=/app/etcd/ssl/server-key.pem --trusted-ca-file=/app/etcd/ssl/ca.pem --peer-trusted-ca-file=/app/etcd/ssl/ca.pem

Restart=on-failure

LimitNOFILE=65536

 

[Install]

WantedBy=multi-user.target

 

3配置k8s-node02主机配置

配置

vi  /app/etcd/cfg/etcd

 

#[Member]

ETCD_NAME="etcd03"

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

ETCD_LISTEN_PEER_URLS="https://192.168.159.123:2380"

ETCD_LISTEN_CLIENT_URLS="https://192.168.159.123:2379"

 

#[Clustering]

ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.159.123:2380"

ETCD_ADVERTISE_CLIENT_URLS="https://192.168.159.123:2379"

ETCD_INITIAL_CLUSTER="etcd01=https://192.168.159.121:2380,etcd02=https://192.168.159.122:2380,etcd03=https://192.168.159.123:2380"

ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_INITIAL_CLUSTER_STATE="new"

 

配置etcd自动启动脚本

vi  /usr/lib/systemd/system/etcd.service

 

[Unit]

Description=Etcd Server

After=network.target

After=network-online.target

Wants=network-online.target

 

[Service]

Type=notify

EnvironmentFile=/app/etcd/cfg/etcd

ExecStart=/app/etcd/bin/etcd --name=${ETCD_NAME} --data-dir=${ETCD_DATA_DIR} --listen-peer-urls=${ETCD_LISTEN_PEER_URLS} --listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 --advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} --initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} --initial-cluster=${ETCD_INITIAL_CLUSTER} --initial-cluster-token=${ETCD_INITIAL_CLUSTER_TOKEN} --initial-cluster-state=new --cert-file=/app/etcd/ssl/server.pem --key-file=/app/etcd/ssl/server-key.pem --peer-cert-file=/app/etcd/ssl/server.pem --peer-key-file=/app/etcd/ssl/server-key.pem --trusted-ca-file=/app/etcd/ssl/ca.pem --peer-trusted-ca-file=/app/etcd/ssl/ca.pem

Restart=on-failure

LimitNOFILE=65536

 

[Install]

WantedBy=multi-user.target

 

 

 

启动etcd

systemctl daemon-reload

systemctl  restart etcd

systemctl  status etcd

systemctl enable etcd

 


相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...