文章目录
【K8S】二进制部署之定义CA证书与ETCD
CA证书
CA证书中包含密钥对 (rsa 非对称密钥)
CA证书可以对通信加密,同时标识身份的唯一性
.pem :证书
制作K8S集群证书流程
制作官方颁发的证书:
- 创建ca密钥(文件定义) ca-key.pem
- 创建ca证书(文件定义) ca.pem
制作master端的证书
用于内部加密通讯,同时为了给与Client端颁发master签名的证书
创建过程:需要以下几部
设置私钥 确保安全加密 .pem
私钥签名 确保身份真实 .csr
制作证书(需要CA官方颁发) cert.pem
- 创建私钥
- 私钥签名
- 使用ca证书与密钥证书签名
制作worker node端证书
- 由master端制作node端密钥
- 对node端的证书进行签名
- 创建一个配置文件(区别于服务端,进行客户端验证)
- 生成证书
CA 证书机构 (签发电子证书)
在 Kubernetes 的组件之间进行通信时,数字证书的验证是在协议层面通过 TLS 完成的,除了需要在建立通信时提供相关的证书和密钥外,在应用层面并不需要进行特殊处理。采用 TLS 进行验证有两种方式:
- 服务器单向认证:只需要服务器端提供证书,客户端通过服务器端证书验证服务的身份,但服务器并不验证客户端的身份。这种情况
一般适用于对Internet开放的服务,例如搜索引擎网站,任何客户端都可以连接到服务器上进行访问,但客户端需要验证服务器的身份,以避免连接到伪造的恶意服务器 - 双向 TLS 认证:除了客户端需要验证服务器的证书,服务器也要通过客户端证书验证客户端的身份。这种情况下服务器提供的是敏感信息
,只允许特定身份的客户端访问。在Kubernetes中,各个组件提供的接口中包含了集群的内部信息。如果这些接口被非法访问,将影响集群的安全,因此组件之间的通信需要采用双向TLS认证。即客户端和服务器端都需要验证对方的身份信息。在两个组件进行双向认证时,会涉及到下面这些证书相关的文件:
- 服务器端证书:服务器用于证明自身身份的数字证书,里面主要包含了服务器端的公钥以及服务器的身份信息
- 服务器端私钥:服务器端证书中包含的公钥所对应的私钥。公钥和私钥是成对使用的,在进行TLS验证时,服务器使用该私钥来向客户端
证明自己是服务器端证书的拥有者 - 客户端证书:客户端用于证明自身身份的数字证书,里面主要包含了客户端的公钥以及客户端的身份信息
- 客户端私钥:客户端证书中包含的公钥所对应的私钥,同理,客户端使用该私钥来向服务器端证明自己是客户端证书的拥有者
- 服务器端 CA 根证书:签发服务器端证书的 CA 根证书,客户端使用该 CA 根证书来验证服务器端证书的合法性
- 客户端端 CA 根证书:签发客户端证书的 CA 根证书,服务器端使用该 CA 根证书来验证客户端证书的合法性
K8S 二进制集群部署
k8s 默认有三种部署方式:Minikube 、kubeadm、 二进制 ————》工具部署/云平台部署
分为几个模块部署
- ETCD集群
- FLANNEL网络
- 单master部署
- node部署
- 多master署(LB部署haproxy + keepalived 或者nginx + keepalived )
ETCD集群部署
官网源码包下载:https://github.com/kubernetes/kubernetes/releases?after=v1.13.1
ETCD 二进制包地址:https://github.com/etcd-io/etcd/releases
环境
| master | 192.168.116.140 |
|---|---|
| node01 | 192.168.116.141 |
| node02 | 192.168.116.142 |
192.168.116.140 master
192.168.116.141 node01
192.168.116.142 node02
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
docker部署
yum install -y yum-utils device-mapper-persistent-data lvm2
cd /etc/yum.repos.d/
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
systemctl enable docker
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jdnWpaRR-1667312694422)(F:\typorase\jpg\1083.png)]](/https://i-blog.csdnimg.cn/blog_migrate/8afa8488c7562548c249de78c430d170.png)

本文详细介绍了如何在Kubernetes二进制部署中定义CA证书和ETCD集群。涵盖了CA证书的制作流程,包括创建ca-key.pem和ca.pem,以及制作master和worker node端证书。同时,讲解了K8S二进制集群部署的步骤,重点解析了ETCD集群部署,包括环境准备、docker部署、集群搭建和证书配置等环节。

2407

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



