Kubernetes证书签发流程是什么
这篇文章主要介绍“Kubernetes证书签发流程是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Kubernetes证书签发流程是什么”文章能帮助大家解决问题。
为临高等地区用户提供了全套网页设计制作服务,及临高网站建设行业解决方案。主营业务为成都网站建设、网站设计、临高网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
对于网站类的应用,网站管理员需要向权威证书签发机构(CA)申请证书,这通常需要花费一定的费用,也有非营利的证书签发机构,比如”Let's Encrypt“可以为用户免费签发证书。但对于Kubernetes
这类应用来讲,它通常部署在企业内部,其管理面组件不需要暴露到公网,所以就不需要向外部的证书签发机构申请证书,系统管理员就可以自已签发证书供内部使用。
本节我们使用简单的例子,介绍一下如何使用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机构保存,不会对外公开,证书则是对外公开的。生成证书前面要先为CA机构创建一个私钥。
生成CA私钥
使用openssl genrsa
命令便可以生成一个私钥:
# openssl genrsa -out ca.key 2048 Generating RSA private key, 2048 bit long modulus .....................................................................+++ ........................................+++ e is 65537 (0x10001)
生成的私钥存在ca.key
文件中,可以使用cat
命令查看:
# ls ca.key # cat ca.key -----BEGIN RSA PRIVATE KEY----- MIIEog...// 省略若干内容 -----END RSA PRIVATE KEY-----
生成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
签发证书了。
生成kube-apiserver凭证
要申请证书,kube-apiserver
管理员需要准备一个证书签发请求(申请书),为此,kube-apiserver
管理员需要先为kube-apiserver
生成一个私钥。
生成kube-apiserver私钥
为kube-apiserver
生成私钥与前面为CA生成私钥的方法完全一致,同样可以使用openssl genrsa
完成:
# openssl genrsa -out server.key 2048
生成的私钥存放于server.key
中。
生成kube-apiserver证书请求
接着kube-apiserver
管理员需要使用kube-apiserver
的私钥生成一个证书签发请求,才可以提交给CA管理员进行签发。
使用openssl req -new
命令可以创建一个证书请求文件:
# openssl req -new -key server.key -out server.csr
创建证书请求文件需要提供私钥,然后根据命令行提示输入相关信息,生成的请求文件存放于server.csr
文件中。
生成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
文件中。
证书文件后缀
关于证书及私钥文件,常常会使用约定俗成的文件名后缀。
*.key: 往往表示私钥文件;
*.crt: certificate的缩写,往往表示证书文件;
此外,*.csr
文件为证书签名请求文件,“Certificate Signing Request”的缩写,该文件内含公钥及公钥所属者信息,用于向CA机构申请签名。
关于“Kubernetes证书签发流程是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。
网站名称:Kubernetes证书签发流程是什么
文章出自:http://ybzwz.com/article/jsdihe.html