首页 > 其他分享 >openssl 生成k8s 证书

openssl 生成k8s 证书

时间:2023-05-11 21:57:37浏览次数:52  
标签:证书 ca req openssl server key k8s csr

  1. 生成一个 2048 位的 ca.key 文件

    openssl genrsa -out ca.key 2048
  1. 在 ca.key 文件的基础上,生成 ca.crt 文件(用参数 -days 设置证书有效期)

    openssl req -x509 -new -nodes -key ca.key -subj "/CN=${MASTER_IP}" -days 10000 -out ca.crt
  1. 生成一个 2048 位的 server.key 文件:

    openssl genrsa -out server.key 2048
  1. 创建一个用于生成证书签名请求(CSR)的配置文件。 保存文件(例如:csr.conf)前,记得用真实值替换掉尖括号中的值(例如:<MASTER_IP>)。 注意:MASTER_CLUSTER_IP 就像前一小节所述,它的值是 API 服务器的服务集群 IP。 下面的例子假定你的默认 DNS 域名为 cluster.local

    [ req ]
    default_bits = 2048
    prompt = no
    default_md = sha256
    req_extensions = req_ext
    distinguished_name = dn
    
    [ dn ]
    C = <country>
    ST = <state>
    L = <city>
    O = <organization>
    OU = <organization unit>
    CN = <MASTER_IP>
    
    [ req_ext ]
    subjectAltName = @alt_names
    
    [ alt_names ]
    DNS.1 = kubernetes
    DNS.2 = kubernetes.default
    DNS.3 = kubernetes.default.svc
    DNS.4 = kubernetes.default.svc.cluster
    DNS.5 = kubernetes.default.svc.cluster.local
    IP.1 = <MASTER_IP>
    IP.2 = <MASTER_CLUSTER_IP>
    
    [ v3_ext ]
    authorityKeyIdentifier=keyid,issuer:always
    basicConstraints=CA:FALSE
    keyUsage=keyEncipherment,dataEncipherment
    extendedKeyUsage=serverAuth,clientAuth
    subjectAltName=@alt_names
  1. 基于上面的配置文件生成证书签名请求:

    openssl req -new -key server.key -out server.csr -config csr.conf
  1. 基于 ca.key、ca.crt 和 server.csr 等三个文件生成服务端证书:

    openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key \
        -CAcreateserial -out server.crt -days 10000 \
        -extensions v3_ext -extfile csr.conf -sha256
  1. 查看证书签名请求:

    openssl req  -noout -text -in ./server.csr
  1. 查看证书:

    openssl x509  -noout -text -in ./server.crt

     

    参考:手动生成证书 | Kubernetes

     

标签:证书,ca,req,openssl,server,key,k8s,csr
From: https://www.cnblogs.com/outsrkem/p/17392354.html

相关文章

  • Https通信的SSL证书工作流程原理(转)
    前言浏览器与服务器之间的https加密通信会包括以下一些概念:非对称加密、对称加密、RSA、证书申请、根证书。https证书加密,就是在传输层tcp和应用层http之间加了一层ssl层来对传输内容进行加密。用时序图简单记录一下大致过程吧。证书工作原理服务器向证书机构申请证书的流程如......
  • k8s部署-二进制-1.26
    一、系统环境初始化1.1系统环境系统:Rockylinux8.7x64cat/etc/hosts----172.16.10.81flyfish81172.16.10.82flyfish82172.16.10.83flyfish83172.16.10.84flyfish84172.16.10.85flyfish85-----本次部署为前三台Rockylinux8.6x64flyfis......
  • CentOS7编译安装OpenSSL3.1
    CentOS7编译安装OpenSSL3.11.下载Openssl源码包官网:https://www.openssl.org/ [root@localhost~]#wgethttps://www.openssl.org/source/openssl-3.1.0.tar.gz 2.解压安装[root@localhost~]#tar-xvfopenssl-3.1.0.tar.gz-C/usr/local/[root@localhost~]#cd......
  • k8s证书续签及异常:You must be logged in to the server
    1、证书续签(k8smaster节点执行):  #备份kubernetes配置sudocp-r/etc/kubernetes/etc/kubernetes_bak#更新证书sudokubeadmcertsrenewall#查看证书过期时间sudokubeadmcertscheck-expiration#删除conf文件sudorm-rf/etc/kubernetes/*.conf#重新生......
  • k3s 证书过期修改
    >作者:[SRE运维博客](https://www.cnsre.cn/)>博客地址:[https://www.cnsre.cn/](https://www.cnsre.cn/)>文章地址:[https://www.cnsre.cn/posts/221207116004/](https://www.cnsre.cn/posts/221207116004/)>相关话题:[https://www.cnsre.cn/tags/k3s/](https://www.cnsre.......
  • k8s中的Ingress
    虽然通过kube-proxy可以帮助实现集群内外的pod相互通信,对这些pod做负载均衡(用户态userspace轮询算法,性能低也不安全)和网络的流量代理,但是随着service的增多,nodeIP越来越多,并且kube-proxy生成的规则链也会越来越多,即使是iptables路由(内核态随机算法,性能高直接转给后端EndPoint)对Linu......
  • Ubuntu安装K8s
    Ubuntu安装K8s采用本地VM虚拟机方式安装,整体流程:安装一台Ubuntu修改可能需要的几个配置安装基本的环境克隆新的Node节点机器主从节点配置K8s主节点安装网络插件验证集群安装Ubuntu我比较懒,所以可以参考别人的博客安装,说明两点:CPU和内存我豆是选择的4,这个根......
  • K8S API资源对象NetworkPolicy
    NetworkPolicy用来控制Pod与Pod之间的网络通信,它也支持针对Namespace进行限制。基于白名单模式,符合规则的对象通过,不符合的拒绝。应用场景举例:PodA不能访问PodB;开发环境所有Pod不能访问测试命名空间;提供对外访问时,限制外部IP;官方NetworkPolicyYAML示例:apiVersion:netwo......
  • SSL证书配置
    1.1tomcat配置SSL证书tomcat配置#上传证书cp../bonc.com.cn.jks./conf/#修改配置server.xml<Connectorport="443"protocol="HTTP/1.1"SSLEnabled="true"maxThreads="150"scheme="https"secure="......
  • 第9周-elk-k8s网络
    一、日志收集案例-容器内置日志收集收集架构应用程序以tomcat为例1构建镜像DockerfileFROMharbor.jackedu.net/baseimage/tomcat-base:v8.5.43ADDcatalina.sh/apps/tomcat/bin/catalina.shADDserver.xml/apps/tomcat/conf/server.xml#ADDmyapp/*/data/tomcat/we......