二进制部署kubernetes v1.30.2集群 四、ETCD集群部署

ETCD集群部署

  在3个master节点中执行以下操作

  1、下载etcd二进制包

cd /data/src
wget https://github.com/etcd-io/etcd/releases/download/v3.5.15/etcd-v3.5.15-linux-amd64.tar.gz

  2、创建etcd服务使用目录,并解压,配置环境变量

tar zxf etcd-v3.5.15-linux-amd64.tar.gz 
cp etcd-v3.5.15-linux-amd64/etcd* /data/etcd/bin/ 
echo "export PATH=/data/etcd/bin:\$PATH" > /etc/profile.d/etcd.sh 
source /etc/profile.d/etcd.sh

   3、创建etcd配置文件

  仅在k8s-master01中执行

cat > /data/etcd/conf/etcd.conf << EOF 
name: 'k8s-master01'
data-dir: /data/etcd/data
listen-peer-urls: 'https://192.168.110.21:2380'
listen-client-urls: 'https://192.168.110.21:2379,http://127.0.0.1:2379'
initial-advertise-peer-urls: 'https://192.168.110.21:2380'
advertise-client-urls: 'https://192.168.110.21:2379'
initial-cluster: 'k8s-master01=https://192.168.110.21:2380,k8s-master02=https://192.168.110.22:2380,k8s-master03=https://192.168.110.23:2380'
initial-cluster-token: 'k8s-etcd-cluster'
initial-cluster-state: 'new'
enable-v2: true
client-transport-security:
  cert-file: '/data/etcd/ssl/etcd.pem'
  key-file: '/data/etcd/ssl/etcd-key.pem'
  client-cert-auth: true
  trusted-ca-file: '/data/etcd/ssl/ca.pem'
  auto-tls: true
peer-transport-security:
  cert-file: '/data/etcd/ssl/etcd.pem'
  key-file: '/data/etcd/ssl/etcd-key.pem'
  peer-client-cert-auth: true
  trusted-ca-file: '/data/etcd/ssl/ca.pem'
  auto-tls: true
EOF

  仅在k8s-master02中执行

cat > /data/etcd/conf/etcd.conf << EOF 
name: 'k8s-master02'
data-dir: /data/etcd/data
listen-peer-urls: 'https://192.168.110.22:2380'
listen-client-urls: 'https://192.168.110.22:2379,http://127.0.0.1:2379'
initial-advertise-peer-urls: 'https://192.168.110.22:2380'
advertise-client-urls: 'https://192.168.110.22:2379'
initial-cluster: 'k8s-master01=https://192.168.110.21:2380,k8s-master02=https://192.168.110.22:2380,k8s-master03=https://192.168.110.23:2380'
initial-cluster-token: 'k8s-etcd-cluster'
initial-cluster-state: 'new'
enable-v2: true
client-transport-security:
  cert-file: '/data/etcd/ssl/etcd.pem'
  key-file: '/data/etcd/ssl/etcd-key.pem'
  client-cert-auth: true
  trusted-ca-file: '/data/etcd/ssl/ca.pem'
  auto-tls: true
peer-transport-security:
  cert-file: '/data/etcd/ssl/etcd.pem'
  key-file: '/data/etcd/ssl/etcd-key.pem'
  peer-client-cert-auth: true
  trusted-ca-file: '/data/etcd/ssl/ca.pem'
  auto-tls: true
EOF

  仅在k8s-master03中执行  

cat > /data/etcd/conf/etcd.conf << EOF 
name: 'k8s-master03'
data-dir: /data/etcd/data
listen-peer-urls: 'https://192.168.110.23:2380'
listen-client-urls: 'https://192.168.110.23:2379,http://127.0.0.1:2379'
initial-advertise-peer-urls: 'https://192.168.110.23:2380'
advertise-client-urls: 'https://192.168.110.23:2379'
initial-cluster: 'k8s-master01=https://192.168.110.21:2380,k8s-master02=https://192.168.110.22:2380,k8s-master03=https://192.168.110.23:2380'
initial-cluster-token: 'k8s-etcd-cluster'
initial-cluster-state: 'new'
enable-v2: true
client-transport-security:
  cert-file: '/data/etcd/ssl/etcd.pem'
  key-file: '/data/etcd/ssl/etcd-key.pem'
  client-cert-auth: true
  trusted-ca-file: '/data/etcd/ssl/ca.pem'
  auto-tls: true
peer-transport-security:
  cert-file: '/data/etcd/ssl/etcd.pem'
  key-file: '/data/etcd/ssl/etcd-key.pem'
  peer-client-cert-auth: true
  trusted-ca-file: '/data/etcd/ssl/ca.pem'
  auto-tls: true
EOF

  4、创建etcd服务的systemd管理文件

cat > /usr/lib/systemd/system/etcd.service << EOF
[Unit]
Description=Etcd Service
After=network.target

[Service]
Type=notify
ExecStart=/data/etcd/bin/etcd --config-file=/data/etcd/conf/etcd.conf
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
Alias=etcd3.service
EOF

  5、启动etcd服务,设置开机启动

systemctl start etcd
systemctl enable etcd

   6、验证

etcdctl \
--endpoints=https://192.168.110.21:2379,https://192.168.110.22:2379,https://192.168.110.23:2379 \
--cacert=/data/etcd/ssl/ca.pem \
--cert=/data/etcd/ssl/etcd.pem \
--key=/data/etcd/ssl/etcd-key.pem \
endpoint health

 

 
posted @ 2025-05-13 14:02  难止汗  阅读(136)  评论(0)    收藏  举报