#yyds干货盘点#k8s集群中ssl证书签发环境的搭建

Posted 极客开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#k8s集群中ssl证书签发环境的搭建相关的知识,希望对你有一定的参考价值。

我们把 kb200 这台主机作为运维主机,所以接下来很多操作都在这台主机上执行,我们先登录到这台主机,准备证书签发操作

1. 安装cfssl工具

cfssl 工具的下载地址为:https://github.com/cloudflare/cfssl/releases

我们下载安装cfsslcfssl-jsoncfssl-certingo,如下指令

# cfssl
wget https://github.com/cloudflare/cfssl/releases/download/1.2.0/cfssl_linux-amd64 -o /usr/local/bin/cfssl
# cfssljson
wget https://github.com/cloudflare/cfssl/releases/download/1.2.0/cfssljson_linux-amd64 -o /usr/local/bin/cfssl-json
# cfssl-certinfo
wget https://github.com/cloudflare/cfssl/releases/download/1.2.0/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo
# 赋予执行权限
chmod a+x /usr/local/bin/cfssl*

2. 创建证书

# 创建证书目录
mkdir -p /opt/certs
# 进入目录
cd /opt/certs

2.1. 创建签证机构(CA)信息

创建/opt/certs/ca-csr.json文件,此文件定义签证机构(CA)的相关信息,填入以下内容


    "CN": "etcd CA",
    "key": 
        "algo": "rsa",
        "size": 2048
    ,
    "names": [
        
            "C": "CN",
            "L": "Guangzhou",
            "ST": "Guangdong",
            "O": "od",
            "OU": "ops"
        
    ],
    "ca": 
        "expiry": "175200h"
    

names 的相关字段:

CN: Common Name,一般使用域名
C: Country Code,申请单位所属国家,只能是两个字母的国家码。例如,中国只能是CN。
ST: State or Province,州、省
L: Locality,州名或省份名称
O: Organization name,组织名称、公司名称
OU: Organization Unit Name,组织单位名称、公司部门

ca的expiry字段代表有效时间,175200h代表20年

2.2. 生成根证书 的 CSR 文件和秘钥文件

申请数字证书之前,必须先生成证书的密钥文件和CSR文件。CSR文件是你的公钥证书原始文件,包含了你的服务器信息和你的单位信息,需要提交给CA认证中心进行审核。

使用 cfssl 命令生成证书,但生成的证书内容只会输入在控制台中,所以需要使用cfssl-json生成承载式证书写入到文件中,如下命令

cfssl gencert -initca ca-csr.json | cfssljson -bare ca -

生成以下三个文件

ca.csr: 证书签名申请(Certificate Signing Request)文件
ca.pem: ca公钥证书
ca-key.pem: ca私钥证书

以上是关于#yyds干货盘点#k8s集群中ssl证书签发环境的搭建的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#最小化K8s环境部署之Minikube

#yyds干货盘点#K8S 之 kubeadm 介绍

#yyds干货盘点#Nginx配置SSL证书

#yyds干货盘点#怎样使用cfssl为etcd颁发SSL证书

#yyds干货盘点#k8s集群中的控制器

#yyds干货盘点#k8s知识进阶知识,使用二进制安装包安装k8s的环境准备