Kubernetes集群部署之二CA证书制作
创建TLS证书和秘钥
kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 和其它证书.
1. 下载并安装 CFSSL:
[root@k8s-master ~]# cd /usr/local/src [root@k8s-master src]# wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 [root@k8s-master src]# wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 [root@k8s-master src]# wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 [root@k8s-master src]# chmod +x cfssl* [root@k8s-master src]# mv cfssl-certinfo_linux-amd64 /opt/kubernetes/bin/cfssl-certinfo [root@k8s-master src]# mv cfssljson_linux-amd64 /opt/kubernetes/bin/cfssljson [root@k8s-master src]# mv cfssl_linux-amd64 /opt/kubernetes/bin/cfssl
复制cfssl命令文件到k8s-node1和k8s-node2节点。如果实际中多个节点,就都需要同步复制(好像不需要分发到node节点中.。。)。
[root@k8s-master ~]# scp /opt/kubernetes/bin/cfssl* 10.200.3.106:/opt/kubernetes/bin [root@k8s-master ~]# scp /opt/kubernetes/bin/cfssl* 10.200.3.107:/opt/kubernetes/bin
设置环境变量,在各个节点都添加环境变量.
[root@k8s-master ~]#vim /etc/profileexport PATH=/opt/kubernetes/bin/:$PATH [root@k8s-master ~]# source /etc/profile
2. 初始化cfssl,并创建临时证书目录:
[root@k8s-master src]# mkdir ssl && cd ssl [root@k8s-master ssl]# cfssl print-defaults config > config.json [root@k8s-master ssl]# cfssl print-defaults csr > csr.json
3. 创建用来生成 CA 文件的 JSON 配置文件
[root@k8s-master ssl]#cat > ca-config.json <<EOF {"signing": {"default": {"expiry": "8760h"},"profiles": {"kubernetes": {"usages": ["signing","key encipherment","server auth","client auth"],"expiry": "8760h"}}} } EOF
4. 创建用来生成 CA 证书签名请求(CSR)的 JSON 配置文件
[root@k8s-master ssl]# cat > ca-csr.json <<EOF {"CN": "kubernetes","key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","ST": "BeiJing","L": "BeiJing","O": "k8s","OU": "System"}] } EOF
5. 生成CA证书(ca.pem)和密钥(ca-key.pem)
[root@k8s-master ssl]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca
[root@k8s-master ssl]# ls -l ca*
-rw-r--r-- 1 root root 290 Mar 4 13:45 ca-config.json
-rw-r--r-- 1 root root 1001 Mar 4 14:09 ca.csr
-rw-r--r-- 1 root root 208 Mar 4 13:51 ca-csr.json
-rw------- 1 root root 1679 Mar 4 14:09 ca-key.pem
-rw-r--r-- 1 root root 1359 Mar 4 14:09 ca.pem
6.分发证书
[root@k8s-master ssl]# cp ca.csr ca.pem ca-key.pem ca-config.json /opt/kubernetes/sslSCP证书到k8s-node1和k8s-node2节点 [root@k8s-master ssl]# scp ca.csr ca.pem ca-key.pem ca-config.json 10.200.3.106:/opt/kubernetes/ssl [root@k8s-master ssl]# scp ca.csr ca.pem ca-key.pem ca-config.json 10.200.3.107:/opt/kubernetes/ssl
服务各组件的证书会在后面安装和使用时在生成.
Kubernetes集群部署之二CA证书制作相关推荐
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)
在上文中我介绍了ASP.NET Core应用程序容器化时需要注意的几个问题,并给出了一个案例应用程序:tasklist.今天接着上文的内容,继续了解一下如何使用Azure DevOps进行ASP.NE ...
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三
在上文ASP.NET Core应用程序容器化.持续集成与Kubernetes集群部署(二)中,我介绍了如何使用Azure DevOps为ASP.NET Core应用程序案例:tasklist搭建持续集 ...
- kubernetes 集群部署
kubernetes 集群部署 环境 JiaoJiao_Centos7-1(152.112) 192.168.152.112 JiaoJiao_Centos7-2(152.113) 192.168.1 ...
- Kubernetes集群部署实录
空降助手 环境准备 服务器配置信息 部署版本信息 关闭防火墙 禁用SELinux 关闭swap 修改hostname 配置hosts文件 runtime安装(docker安装) 安装记录 kubead ...
- 基于Kubernetes集群部署完整示例——Guestbook
本文依赖环境:Centos7部署Kubernetes集群.基于Kubernetes集群部署skyDNS服务 该示例中,我们将创建一个redis-master.两个redis-slave.三个front ...
- 数据库系列之SequoiaDB高可用集群部署(二)
SequoiaDB作为存储引擎,支持高并发的HTAP场景.本位总结运维分析项目中使用SequoiaDB作为数据存储的高可用部署实战,并接入Kafka进行高并发的更新业务和Spark进行高并发的批量查询 ...
- kubernetes集群部署(四):部署heapster+influxdb
在上一篇<kubernetes集群部署(三):部署dashboard服务>中,我们部署了dashboard,但这个dashboard页面看上去好像少了点什么,没有cup和内存使用监控图表. ...
- 容器技术---(二)kubernetes集群部署
Kubernetes简介 在Docker作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用:Kubernetes项目来源于Borg, ...
- 自动化运维之k8s——Kubernetes集群部署、pod、service微服务、kubernetes网络通信
目录 一.Kubernetes简介 1.Kubernetes简介 2.kubernetes设计架构 3.Kubernetes核心组件 4.kubernetes设计结构 二.Kubernetes部署 1 ...
最新文章
- C#判断字符串是否为数字字符串
- Spring Boot Actuator:在其顶部具有MVC层的自定义端点
- pytorch教程之nn.Module类详解——使用Module类来自定义网络层
- 新浪的动态策略灰度发布系统:ABTestingGateway
- 如何为能源消费提供最后一公里智能服务
- 学习Jsoup(三)
- HTML-input文本框添加提示文字,填写内容时消失
- 正常网页开发如何解除父容器中子容器的浮动问题
- 【动态主席树】ZOJ 2112【树状数组+主席树】
- java中Map集合的四种遍历方式
- si4463的寄存器使用说明
- 51开发板用ADC采集模拟量
- 如何把分布式远程总线IO应用到项目中
- python复杂背景抠图_Opencv实现抠图背景图替换功能
- linux登录界面鼠标键盘失灵,vmware+centos7+启动在登录界面鼠标键盘都不可用
- C语言中long long的用法
- IE显示对象不支持此属性或方法 的解决方法
- Using Sketch with Framer 使用Sketch与Framer Lynda课程中文字幕
- 如何使用灰灰美国专利下载软件一键下载美国专利
- 慕课网视频中的代码---3-4 Minst手写体识别