kubernets集群二进制部署(持续更新中)
Posted 可乐卷儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubernets集群二进制部署(持续更新中)相关的知识,希望对你有一定的参考价值。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
官方提供的三种部署方式:kubeadmin、二进制、minikube,本文主要讲解二进制部署方式
K8S二进制部署,分为几个模块部署:
1、ETCD集群
2、FLANNEL网络
3、单master部署
4、node部署
5、多master部署
一、CA证书
在 Kubernetes 的组件之间进行通信时,数字证书的验证是在协议层面通过TLS完成的,除了需要在建立通信时提供相关的证书和密钥外,在应用层面并不需要进行特殊处理。采用TLS 进行验证有两种方式:
- 服务器单向认证:只需要服务器端提供证书,客户端通过服务器端证书验证服务的身份,但服务器并不验证客户端的身份。这种情况一般适用于对Internet开放的服务,例如搜索引擎网站,任何客户端都可以连接到服务器上进行访问,但客户端需要验证服务器的身份,以避免连接到伪造的恶意服务器。
- 双向TLS 认证:除了客户端需要验证服务器的证书,服务器也要通过客户端证书验证客户端的身份。这种情况下服务器提供的是敏感信息,只允许特定身份的客户端访问。在Kubernetes中,各个组件提供的接口中包含了集群的内部信息。如果这些接口被非法访问,将影响集群的安全,因此组件之间的通信需要采用双向rLs认证。即客户端和服务器端都需要验证对方的身份信息。在两个组件进行双向认证时,会涉及到下面这些证书相关的文件:
①:服务器端证书:服务器用于证明自身身份的数字证书,里面主要包含了服务器端的公钥以及服务器的身份信息。
②:服务器端私钥:服务器端证书中包含的公钥所对应的私钥。公钥和私钥是成对使用的,在进行rL s验证时,服务器使用该私钥来向客户州证明自己是服务器端证书的拥有者
③:客户端证书:客户端用于证明自身身份的数字证书,里面主要包含了客户端的公钥以及客户端的身份信息。
④:客户端私钥:客户端证书中包含的公钥所对应的私钥,同理,客户端使用该私钥来向服务器端证明自己是客户端证书的拥有者
⑤:服务器端CA根证书:签发服务器端证书的 CA根证书,客户端使用该CA 根证书来验证服务器端证书的合法性。
⑥:客户端端CA根证书:签发客户端证书的CA根证书,服务器端使用该CA根证书来验证客户端证书的合法性。
1、制作官方颁发的证书
- 创建ca密钥(文件定义)ca-key.pem
- 创建ca证书(文件定义)ca.pem
2、制作master端的证书
(用于内部加密通讯,同时为了给与client端颁发master签名的证书)
- 创建过程:需要以下几步
设置私钥确保安全加密 .pem
私钥签名确保身份真实 .csr
制作证书(需要cA官方颁发) cert.pem - 创建私钥
- 私钥签名
- 使用ca证书与密钥证书签名
3、制作node瑞证书
- 由master端制作node端密钥对
- node端的证书进行签名
- 创建一个配置文件(区别于服务端,进行客户端验证)
- 生成证书
4、证书有效期
二进制是etcd-cert.sh内的ca-config.json中可以自定义:87600,10年
kubeadmin是默认1年
二、k8s二进制部署
ip | 服务器 |
---|---|
192.168.35.40 | master01 |
192.168.35.10 | master02 |
192.168.35.20 | node1 |
192.168.35.30 | node2 |
192.168.35.50 | nginx |
192.168.35.60 | nginx |
1、ETCD集群部署
以上是关于kubernets集群二进制部署(持续更新中)的主要内容,如果未能解决你的问题,请参考以下文章