【K8S】二进制部署之定义CA证书与ETCD

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

【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 进行验证有两种方式:

  1. 服务器单向认证:只需要服务器端提供证书,客户端通过服务器端证书验证服务的身份,但服务器并不验证客户端的身份。这种情况
    一般适用于对Internet开放的服务,例如搜索引擎网站,任何客户端都可以连接到服务器上进行访问,但客户端需要验证服务器的身份,以避免连接到伪造的恶意服务器
  2. 双向 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)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值