Kubernetes二进制部署——证书的制作和ETCD的部署
一、实验环境
| 主机名 | IP | 服务 |
|---|---|---|
| master | 192.168.172.10/24 | kube-apiserver kube-controller-manager kube-scheduler etcd |
| node1 | 192.168.172.20/24 | etcd docker kubelet kube-proxyflannel |
| node2 | 192.168.172.30/24 | etcd docker kubelet kube-proxyflannel |
自签 SSL 证书
| 组件 | 使用的证书 |
|---|---|
| etcd | ca.pem、server.pem、server-key.pem |
| fiannel | ca.pem、server.pem、server-key.pem |
| kube-apiserver | ca.pem、server.pem、server-key.pem |
| kubelet | ca.pem、ca-key.pem |
| kube-proxy | ca.pem、kube-proxy.pem、kube-proxy-key.pem |
| kubectl | ca.pem、admin.pem、admin-key.pem |
二、ETCD集群部署
二进制部署方式
1、环境部署
更改matser主机名'
hostnamectl set-hostname master
su -
另外两台node1、2节点'
hostnamectl set-hostname node1
su -
hostnamectl set-hostname node2
su -
关闭防火墙及安全访问控制机制'
systemctl stop firewalld
systemctl disable firewalld.service
setenforce 0
2、master节点
准备工作
[root@master ~]# mkdir k8s
[root@master ~]# cd k8s/
[root@master ~/k8s]# vim cfssl.sh #此脚本用于下载证书制作工具
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
[root@master ~/k8s]# bash cfssl.sh #执行该脚本


开始制作证书
[root@master ~/k8s]# mkdir etcd-cert
[root@master ~/k8s]# cd etcd-cert/
##定义ca证书
cat > ca-config.json <<EOF
{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"www": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}
EOF

##实现证书签名
cat > ca-csr.json

本文详细介绍了如何在Kubernetes环境中使用自签SSL证书创建ETCD集群,并通过二进制部署方式进行节点配置,包括证书制作、防火墙设置和etcd服务的启动与配置。
最低0.47元/天 解锁文章
943

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



