kubernets集群二进制部署(持续更新中)

Posted 可乐卷儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubernets集群二进制部署(持续更新中)相关的知识,希望对你有一定的参考价值。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

官方提供的三种部署方式:kubeadmin、二进制、minikube,本文主要讲解二进制部署方式
K8S二进制部署,分为几个模块部署:
1、ETCD集群
2、FLANNEL网络
3、单master部署
4、node部署
5、多master部署

一、CA证书

在 Kubernetes 的组件之间进行通信时,数字证书的验证是在协议层面通过TLS完成的,除了需要在建立通信时提供相关的证书和密钥外,在应用层面并不需要进行特殊处理。采用TLS 进行验证有两种方式:

  1. 服务器单向认证:只需要服务器端提供证书,客户端通过服务器端证书验证服务的身份,但服务器并不验证客户端的身份。这种情况一般适用于对Internet开放的服务,例如搜索引擎网站,任何客户端都可以连接到服务器上进行访问,但客户端需要验证服务器的身份,以避免连接到伪造的恶意服务器。
  2. 双向TLS 认证:除了客户端需要验证服务器的证书,服务器也要通过客户端证书验证客户端的身份。这种情况下服务器提供的是敏感信息,只允许特定身份的客户端访问。在Kubernetes中,各个组件提供的接口中包含了集群的内部信息。如果这些接口被非法访问,将影响集群的安全,因此组件之间的通信需要采用双向rLs认证。即客户端和服务器端都需要验证对方的身份信息。在两个组件进行双向认证时,会涉及到下面这些证书相关的文件:
    ①:服务器端证书:服务器用于证明自身身份的数字证书,里面主要包含了服务器端的公钥以及服务器的身份信息。
    ②:服务器端私钥:服务器端证书中包含的公钥所对应的私钥。公钥和私钥是成对使用的,在进行rL s验证时,服务器使用该私钥来向客户州证明自己是服务器端证书的拥有者
    ③:客户端证书:客户端用于证明自身身份的数字证书,里面主要包含了客户端的公钥以及客户端的身份信息。
    ④:客户端私钥:客户端证书中包含的公钥所对应的私钥,同理,客户端使用该私钥来向服务器端证明自己是客户端证书的拥有者
    ⑤:服务器端CA根证书:签发服务器端证书的 CA根证书,客户端使用该CA 根证书来验证服务器端证书的合法性。
    ⑥:客户端端CA根证书:签发客户端证书的CA根证书,服务器端使用该CA根证书来验证客户端证书的合法性。

1、制作官方颁发的证书

  1. 创建ca密钥(文件定义)ca-key.pem
  2. 创建ca证书(文件定义)ca.pem

2、制作master端的证书

(用于内部加密通讯,同时为了给与client端颁发master签名的证书)

  1. 创建过程:需要以下几步
    设置私钥确保安全加密 .pem
    私钥签名确保身份真实 .csr
    制作证书(需要cA官方颁发) cert.pem
  2. 创建私钥
  3. 私钥签名
  4. 使用ca证书与密钥证书签名

3、制作node瑞证书

  1. 由master端制作node端密钥对
  2. node端的证书进行签名
  3. 创建一个配置文件(区别于服务端,进行客户端验证)
  4. 生成证书

4、证书有效期

二进制是etcd-cert.sh内的ca-config.json中可以自定义:87600,10年
kubeadmin是默认1年

二、k8s二进制部署

ip服务器
192.168.35.40master01
192.168.35.10master02
192.168.35.20node1
192.168.35.30node2
192.168.35.50nginx
192.168.35.60nginx

1、ETCD集群部署

以上是关于kubernets集群二进制部署(持续更新中)的主要内容,如果未能解决你的问题,请参考以下文章

赵渝强使用二进制包部署Kubernetes集群

云原生 | kubernetes - Argo CD 持续交付

Kubernetes之快速部署应用

kubernetes搭建gitlab开启ssh

kubernets集群二进制单节点部署

k8s-搭建部署