k8s的ca以及相关证书签发流程

k8s的ca以及相关证书签发流程

  • 1. kube-apiserver相关证书说明
  • 2. 生成CA凭证
    • 1.1. 生成CA私钥
    • 1.2. 生成CA证书
  • 2. 生成kube-apiserver凭证
    • 2.1. 生成kube-apiserver私钥
    • 2.2. 生成kube-apiserver证书请求
    • 2.3. 生成kube-apiserver证书
  • 3. 疑问和思考
  • 4. 参考文档

对于网站类的应用,网站管理员需要向权威证书签发机构(CA)申请证书,这通常需要花费一定的费用,也有非营利的证书签发机构,比如”Let’s Encrypt“可以为用户免费签发证书。但对于Kubernetes这类应用来讲,它通常部署在企业内部,其管理面组件不需要暴露到公网,所以就不需要向外部的证书签发机构申请证书,系统管理员就可以自已签发证书供内部使用。

本文通过介绍部分内部组件的ca证书签发流程,引导相关的证书签发过程。


1. kube-apiserver相关证书说明

本节我们使用简单的例子,介绍一下如何使用openssl签发证书,侧重介绍签发证书流程,具体证书配置还需要管理员根据实际情况填写。以kube-apiserver为例,它的启动参数有3处需要配置证书:

--client-ca-file=/yourdirectory/ca.crt
--tls-cert-file=/yourdirectory/server.crt
--tls-private-key-file=/yourdirectory/server.key

其中

  • ca.crt即CA的证书,通常Kubernetes各个组件都配置相同的CA证书,
  • server.crt即kube-apiserver的证书,它将在与客户端建立连接时发送给客户端,由客户端进行验证
  • server.key即kube-apiserver的私钥,它不会发送给客户端,仅用于解密客户端发送的数据。

为了便于理解,我们假设有两位管理员参与证书签发流程,一位CA管理员负责管理CA的凭证并为他人提供签发证书的服务,一位管理员负责为kube-apiserver申请证书。

整体生成证书的流程如下

生成
生成
生成
生成
生成
生成
生成
生成
生成
生成
生成
生成
生成
ca凭证
ca私钥
ca证书
kube-apiserver凭证
kube-schedule-manager凭证
kube-controller-manager凭证
其他组件凭证
kube-apisever私钥
kube-apiserver证书请求
kube-apiserver证书
kube-schedule-manager私钥
kube-schedule-manager证书请求
kube-schedule-manager证书
kube-controller-manager私钥
kube-controller-manager证书请求
kube-controller-manager证书
其他组件私钥
其他组件证书请求
其他组件证书

2. 生成CA凭证

CA凭证包括一个私钥和证书,私钥由CA机构保存,不会对外公开,证书则是对外公开的。生成证书前面要先为CA机构创建一个私钥。

1.1. 生成CA私钥

使用openssl genrsa 命令便可以生成一个私钥:

openssl genrsa -out ca.key 2048

生成的私钥存在ca.key文件中,可以使用cat命令查看:

# ls
ca.key
# cat ca.key 
-----BEGIN RSA PRIVATE KEY-----
MIIEog...// 省略若干内容
-----END RSA PRIVATE KEY-----

在k8s环境中,应该相同的组件都是用相同的ca证书,从而形成统一的签发认证效果,否则可能会认证不通过

1.2. 生成CA证书

接着使用openssl req命令生成一个证书:

openssl req -x509 -new -nodes -key ca.key -subj "/CN=ca" -days 10000 -out ca.crt

生成的证书存在ca.crt文件中,可以使用openssl x509命令查看:

# openssl x509 -in ca.crt -text -noout
Certificate:Data:Version: 3 (0x2)
...

在这里插入图片描述
到此为止,CA管理员已经拥有了一个私钥和证书,可以为kube-apiserver签发证书了。

2. 生成kube-apiserver凭证

要申请证书,kube-apiserver管理员需要准备一个证书签发请求(申请书),为此,kube-apiserver管理员需要先为kube-apiserver生成一个私钥。

2.1. 生成kube-apiserver私钥

为kube-apiserver生成私钥与前面为CA生成私钥的方法完全一致,同样可以使用openssl genrsa完成:

openssl genrsa -out server.key 2048

生成的私钥存放于server.key中。

2.2. 生成kube-apiserver证书请求

接着kube-apiserver管理员需要使用kube-apiserver的私钥生成一个证书签发请求,才可以提交给CA管理员进行签发。

使用openssl req -new命令可以创建一个证书请求文件:

openssl req -new -key server.key -out server.csr

创建证书请求文件需要提供私钥,然后根据命令行提示输入相关信息,生成的请求文件存放于server.csr文件中。

2.3. 生成kube-apiserver证书

当kube-apiserver管理员创建好证书请求文件后,即可提次给CA管理员进行证书签发了。CA管理员在签发时 需要使用CA的私钥和证书:

openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 10000

Signature ok这样签发完的证书就会保存在server.crt文件中,可以通过命令查看证书的信息,如过期时间等。

openssl x509 -in apiserver.crt -text -noout

在这里插入图片描述

**关于证书及私钥文件,常常会使用约定俗成的文件名后缀。
*.key: 往往表示私钥文件;
.crt: certificate的缩写,往往表示证书文件;
.csr文件为证书签名请求文件,“Certificate Signing Request”的缩写,该文件内含公钥及公钥所属者信息,用于向CA机构申请签名。

3. 疑问和思考

其他证书的生成过程也可以参考kube-apiserver,整体流程都是相同的

4. 参考文档

暂无

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/800562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3d挤压出的模型怎么设置分段---模大狮模型网

在3D建模软件中,挤压(Extrude)是常见的操作,而设置分段(Segments)可以让您控制挤压后模型的细节和曲线。以下是一般情况下在常见的3D建模软件(例如Blender、Maya、3ds Max等)中设置挤压模型的分段的方法: Blender中设置挤压模型的分段&#x…

麻了,一面就这么难

总体而言,整个过程更看你回答的条理与深度,不太需要面面俱到,有自己的理解和思考反而会加分,不需要每道题都回答得百分百,有些问题属于面试官顺带提一嘴,但重点问题要答好。 一面 介绍下项目,因…

深入探索MySQL:成本模型解析与查询性能优化

码到三十五 : 个人主页 在数据库管理系统中,查询优化器是一个至关重要的组件,它负责将用户提交的SQL查询转换为高效的执行计划。在MySQL中,查询优化器使用了一个称为“成本模型”的机制来评估不同执行计划的优劣,并选择…

我们常说的443端口是指的什么?

443端口是网页浏览端口,主要用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。在一些对安全性要求较高的网站,比如银行、购物、金融等行业都会采用HTTPS服务,能够保障用户资金和交易的安全性。443端口在我们日常生活中被…

怎样恢复已删除的照片?教你3个方法,一键恢复!

很多人喜欢以拍照的形式记录生活,手机里的照片就很容易堆积成山,但当内存不够用时就不得不选择删除。可是这些美好的照片始终是很多人心中抹不去的记忆,那么该怎样恢复已删除的照片呢?下面几招,教你一键恢复&#xff0…

吴恩达机器学习笔记:第 7 周-12支持向量机(Support Vector Machines)12.1-12.3

目录 第 7 周 12、 支持向量机(Support Vector Machines)12.1 优化目标 第 7 周 12、 支持向量机(Support Vector Machines) 12.1 优化目标 到目前为止,你已经见过一系列不同的学习算法。在监督学习中,许多学习算法的性能都非常类似,因此,重…

[计算机知识] TCP/IP网络模型、MySQL的结构

TCP/IP网络模型 应用层 给用户提供应用功能,如HTTP, DNS 应用层处于用户态,传输层及以下处于内核态 传输层 给应用层提供网络支持,如TCP, UDP TCP提供稳定、面向连接的网络传输协议 应用层的数据可能会太大,就需要进行拆分…

大恒相机-程序异常退出后显示被占用

心跳时间代表多久向相机发送一次心跳包,如果超时则设备会认为断开了,停止工作并主动释放占用资源。 在相机打开后添加代码: #ifdef _DEBUG//设置心跳超时时间 3sObjFeatureControlPtr->GetIntFeature("GevHeartbeatTimeout")-&…

Github上传大文件(>25MB)教程

0.在github中创建新的项目(已创建可忽略这一步) 如上图所示,点击New repository 进入如下页面: 1.下载Git LFS 下载git 2.打开gitbash 3.上传文件,代码如下: cd upload #进入名为upload的文件夹,提前…

【御控物联】 JavaScript JSON结构转换(21):数组To对象——综合应用

文章目录 一、JSON结构转换是什么?二、术语解释三、案例之《JSON数组 To JSON对象》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么? JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

希亦、石头、添可洗地机哪个更好用?资深家电测评师多角度横评

作为一个测评了许多洗地机的家电测评师,有很多人问我,他想入手一款适合自己的家用洗地机,不知道怎么购买到自己合适的,结果自己跑去搜索后发现为什么有的洗地机几百块钱就能入手,而有的又得几千元,买贵的怕…

JS--demo2录入学生信息

实现学生信息录取。 效果图: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><meta http-equiv"X-U…

JS小项目-计算器

需求&#xff1a;根据素材制作如图所示页面&#xff0c;在页面输入第一个数和第二个数&#xff0c;单击&#xff08;加&#xff09;、&#xff0d;&#xff08;减&#xff09;、&#xff0a;&#xff08;乘&#xff09;、&#xff0f;&#xff08;除&#xff09;按钮时&#xf…

Your file appears not to be a valid OLE2 document

前言 org.apache.poi.poifs.filesystem.NotOLE2FileException:Invalid header signature; read 0x0000000000000000, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document解决 Excel兼容模式打开老版本文件造成文件损坏&#xff0c;大多说的是点…

vscode-tasks.json自定义任务

以下所有内容,参考自VScode官方文档: vscode_tasks-docs任务说明文档vscode_variables-reference-docs变量说明文档vscode addtional docs for tasksvscode launch.json 属性设置文档,(下文没有介绍,没有涉及) 浅浅记录一下个人对vscode任务(task)的理解,还谈不上使用. 文章目…

linux通配符

通配符&#xff0c;它是一种用于匹配文件名的特殊字符。通配符在Linux中可以帮助我们更加方便和快捷地查找和操作文件。

IDEA new ui 找不到evaluate

问题 idea升级新版本之后&#xff0c;发现熟悉的evaluate不见了&#xff0c;只能通过快捷键启动&#xff0c;未免太麻烦了&#xff0c;如何像旧版一样添加图标直接点呢&#xff1f; 解决方案 打开debug窗口&#xff0c;在这个地方右键&#xff0c;然后选择add actions 搜索…

Mysql底层原理四:B+树索引

B树索引&#xff08;索引的原理&#xff09; 1.前言 前边我们详细唠叨了InnoDB数据⻚的7个组成部分&#xff0c;知道了各个数据⻚可以组成⼀个双向链表&#xff0c;⽽每个数据⻚中的记录会按照主键值从⼩到⼤的顺序组成⼀个单向链 表&#xff0c;每个数据⻚都会为存储在它⾥边…

【Web】纯萌新的CISCN刷题记录(1)

目录 [CISCN 2019华东南]Web11 [CISCN 2019华北Day2]Web1 [CISCN 2019初赛]Love Math [CISCN 2022 初赛]ezpop [CISCN 2019华东南]Double Secret [CISCN 2023 华北]ez_date [CISCN 2019华北Day1]Web1 [CISCN 2019华东南]Web4 [CISCN 2019华北Day1]Web2 [CISCN 2023 …

解决电脑无故自动关机或重启的15种方法,总有一种适合你

序言 你的Windows PC是否在没有警告的情况下关闭或重新启动?这背后有几个潜在的原因。例如,它可能是软件/硬件冲突、过热或硬盘驱动器错误。本故障排除指南将概述在Windows 10/11中修复自动关闭和重新启动的多个解决方案。 如果你的计算机经常关闭,则必须在安全模式下启动…