使用OpenSSL生成Kubernetes证书的介绍

kubernetes支持Base认证/Token认证/CA认证三种,这篇文章用于记录一下CA认证所需要的最简单程度的命令。

kubernetes构成

测试版本为1.10,但不限于此版本,为openssl证书较为通用的方式。

所需证书

所需要的证书相关文件的说明如下:

CA证书

CA证书私钥

命令:openssl genrsa -out ca.key 2048

[root@host121 k8scert]# openssl genrsa -out ca.key 2048
Generating RSA private key, 2048 bit long modulus
........................................................+++
..................+++
e is 65537 (0x10001)
[root@host121 k8scert]#

CA证书

命令:openssl genrsa -out ca.key 2048

[root@host121 k8scert]# openssl req -x509 -new -nodes -key ca.key -subj "/CN=host121" -days 5000 -out ca.crt
[root@host121 k8scert]# ls
archive ca.crt ca.key
[root@host121 k8scert]#

XXX用证书

apiserver/ControllerManager/kublet等所需证书可用如下方式创建

证书私钥

命令:openssl genrsa -out server.key 2048

[root@host121 k8scert]# openssl genrsa -out server.key 2048
Generating RSA private key, 2048 bit long modulus
..............................+++
........................................................................+++
e is 65537 (0x10001)
[root@host121 k8scert]#

证书签名请求文件

命令:openssl req -new -key server.key -subj “/CN=host121” -out server.csr

[root@host121 k8scert]# openssl req -new -key server.key -subj "/CN=host121" -out server.csr
[root@host121 k8scert]#

subj中设定的subject的信息为用户自己的数据,一般将CN设定为域名/机器名/或者IP名称,比如kubelet为所在node的IP即可

证书

命令:openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000

[root@host121 k8scert]# openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000
Signature ok
subject=/CN=host121
Getting CA Private Key
[root@host121 k8scert]#

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录

    本文记录了kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改. 版本 升级方式 二进制替换之后修改systemd相关选项 docker设定 api-server设定 kubelet设定 /etc/kubernetes/kubeconfig内容: [root@host124 ~]# cat /etc/kubernetes/kubeconfig apiVersion: v1 kind: Config users: [] preferences: {} clusters

  • kubernetes作用领域总结

    kubernetes在容器编排大战中由于应用的可移植性以及支持混合云/多云部署方式上的灵活性.加上开放可扩展的理念,使得周边社区非常活跃.从既有调研结果看,kubernetes已成为容器编排领域的标准.但是它并不成熟,很多方面都大有可为,下面就是列举了一些方面: 1.集群联邦 kubernetes是一个集中式容器管理工具.横向上来说,集群管理工具还有分布式和共享式等.代表性的分布式容器管理工具如yarn与kubernetes的区别是yarn的一台宿主机作为一个master来进行容器管理.分配速度

  • kubernetes对象Volume用法详解

    概述 Volume是对各种存储资源的抽象.虚拟化.为管理.控制.使用存储资源提供统一接口.Openstack中的volume为虚拟机提供存储,Docker中的volume为容器提供存储.因为在kubernetes中可部署运行最小单位是pod ,所以kubernetes的volume为pod提供存储.当然在部署pod时可以不为其提供volume,pod中的容器使用所在节点的硬盘,能同时读写数据的地方称为可读写层.这种存储是容器级的临时存储,不是pod级.其生命周期与容器相同,如果容器crash后被

  • rancher下的kubernetes之构建标准化vmware镜像的方法步骤

    学习kubernetes的时候,我们需要在kubernetes环境下实战操作,然而kubernetes环境安装并不容器,现在通过rancher可以简化安装过程,咱们来实战rancher下的kubernetes吧: 整个实战分为两章:<构建标准化vmware镜像>和<安装部署rancher.kubernetes> 前提条件 由于要用到谷歌的服务,所以要求您的网络环境可以科学上网,具体的方案就不在这里说了: 实战环境 本次实战用的电脑是win10家庭版,通过vmware运行三个ubun

  • 在CentOS中安装Rancher2并配置kubernetes集群的图文教程

    准备 一台CentOS主机,安装DockerCE,用于安装Rancher2 一台CentOS主机,安装DockerCE,用于安装kubernetes集群管理主机 多台CentOS主机,安装DockerCE,用于运行kubernetes工作节点,工作节点需要与集群管理主机在同一个子网中 掌握Docker常用操作,了解K8s基本原理 安装Rancher2 第一步:执行命令,运行Rancher2,绑定主机端口80和443. docker run -d --restart=unless-stopped

  • Kubernetes(k8s)基础介绍

    之前我一直想学习Kubernetes,因为它听起来很有意思(如果你是希腊人,你会觉得这个名字很有问题),但我从来没有机会,因为我没有任何东西需要运行在集群中.而最近,我的工作中开始逐步涉及Kubernetes相关的事情,所以这次我抓住机会,开始查资料,但后来我发现目前所有的资料(包括官方教程)都过于冗长,结构也不合理,这让我一开始有点沮丧. 经过几天的研究,我开始逐步理解Kubernetes的核心理念,并且把他部署到了生产环境中.因为我的简历现在说自己是个"Kubernetes专家",

  • 使用OpenSSL生成Kubernetes证书的介绍

    kubernetes支持Base认证/Token认证/CA认证三种,这篇文章用于记录一下CA认证所需要的最简单程度的命令. kubernetes构成 测试版本为1.10,但不限于此版本,为openssl证书较为通用的方式. 所需证书 所需要的证书相关文件的说明如下: CA证书 CA证书私钥 命令:openssl genrsa -out ca.key 2048 [root@host121 k8scert]# openssl genrsa -out ca.key 2048 Generating RS

  • OpenSSL生成v3证书方法及配置文件详解

    目录 场景 方法 场景 业务需要生成v3版的证书,而一般使用OpenSSL生成证书时都是v1版的,不带扩展属性. 方法 在使用CA证书进行签署证书时加入-exfile和-extensions选项,具体命令如下: openssl x509 -req -days 365 -sha256 -extfile openssl.cnf -extensions v3_req -in server.csr -signkey server.key -out server.crt 对应openssl.cnf配置文件

  • 使用openssl 生成免费证书的方法步骤

    一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,它可以避免信息被窃听到. SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输.Netscape(网景)公司在推出第一个Web浏览器的同时,提出了SSL协议标准.其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持. 因为在网络传输的过程中,网络的数据肯定要经过w

  • Java如何基于command调用openssl生成私钥证书

    在windows环境下进行的测试,前提条件,windows上需要先安装openssl. 配置环境变量,查看版本: import java.io.*; import java.util.Properties; public class OpensslCommand { private static void runCMD(String[] CMD) { java.lang.Process process = null; try { process = Runtime.getRuntime().ex

  • Java OpenSSL生成的RSA公私钥进行数据加解密详细介绍

    Java中使用OpenSSL生成的RSA公私钥进行数据加解密 RSA是什么:RSA公钥加密算法是1977年由Ron Rivest.Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的.RSA取名来自开发他们三者的名字.RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准.目前该加密方式广泛用于网上银行.数字签名等场合.RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困

  • python加密解密库cryptography使用openSSL生成的密匙加密解密

    密匙使用步骤一般是:     1. 私匙签名,发送签名后的数据, 公匙验证.     2.公匙加密,发送加密后的数据,私匙解密. 一般使用情景是通过 openssl 生成密匙后再操作的.Linux下生成密匙也很简单. yum 安装 openssl yum -y install openssl 生成三个密匙文件. rsa_private_key.pem 私匙文件 rsa_private_key_pkcs8.pem  pkcs8格式私匙,  rsa_public_key.pem 公匙 openssl

  • Java读取OpenSSL生成的PEM公钥文件操作

    JDK8的JCE是不支持读取PEM文件的.需要使用bouncycastle. 项目需求,使用SHA1WithRSA算法,对接口数据做签名. 代码如下: @Service class SignService { private static Logger LOG = LoggerFactory.getLogger(SignService.class); @Autowired private Config config; private Signature signature; @PostConst

  • Kubernetes探针使用介绍

    目录 一.基本介绍 Kubernetes 的探针有三种类型: 探针方式: 配置项: 二.K8s 探针使用介绍 1)就绪探针: 2)存活探针: 3)启动探针: 一.基本介绍 当我们在 K8s 上运行应用时,应用是否运行正常这是我们比较关心的,但是如果我们只是通过查看应用的运行状态,这是很难判断出应用是否处于运行状态的:因为在某些时候,容器正常运行并不能代表应用健康,所以我们可以通过 Kubernetes 提供的探针. 使用探针来判断容器内运行的应用是否运行正常.官方文档 Kubernetes 的探

  • PHP中使用OpenSSL生成证书及加密解密

    依赖于OpenSSL扩展 /*加密解密*/ function authcode($string, $operation = 'E') { $ssl_public = file_get_contents(DATA_PATH."/conf/cert_public.key"); $ssl_private = file_get_contents(DATA_PATH."/conf/cert_private.pem"); $pi_key = openssl_pkey_get_p

  • Python文档生成工具pydoc使用介绍

    在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc.doxygen.sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介绍pydoc. pydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的.也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现! [用法] Windows下: 复制代码 代码如下: D:\>python -m pydoc <modulenam

随机推荐