一、启用安全认证的高可用etcd集群
etcd用作Kubernetes集群的主数据库,在启动Kubernetes各服务之前,需要首先安装和启动etcd集群。
1、下载Etcd二进制文件,配置systemd服务
从GitHub官网下载Etcd二进制文件
例如etcd-v3.4.13-linux-amd64.tar.gz
- 解压缩后得到etcd和etcdctl文件,将它们复制到/usr/bin目录下。;
- 部署为systemd的服务,创建systemd服务配置文件/usr/lib/systemd/system/etcd.service;
[Unit]
Description=etcd key-value store
Documentation=https://github.com/etcd-io/etcd
After=network.target
[Service]
EnvironmentFile=/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd
Restart=always
[Install]
WantedBy=multi-user.target
其中,EnvironmentFile指定配置文件的全路径,例如/etc/etcd/etcd.conf,其中的参数以环境变量的格式进行配置。
接下来先对Etcd需要的CA证书配置进行说明。对于配置文件/etc/etcd/etcd.conf中的完整配置参数,将在创建完CA证书后统一说明。
2、CA根证书
CA根证书需要与kube-apiserver以及idp(如keycloak)使用相同的根证书,包括ca.key和ca.crt两个文件。
建议:整个组织仅用同一套CA根证书
3、创建Etcd的CA证书
先创建一个x509 v3配置文件etcd_ssl.cnf,其中subjectAltName参数(alt_names)包括所有Etcd主机的IP地址
如
[ req ]
req_extensions = v3_req
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[ alt_names ]
IP.1 = 192.168</

最低0.47元/天 解锁文章
758

被折叠的 条评论
为什么被折叠?



