• Jenkins基于https的k8s配置


    一、摘要

    jenkins 连接低版本的k8s时,不需要验证。但是新版本的启用了https和角色管理

    二、安装kubernetes插件

    登录jenkins,点击 Manage Jenkins --> Manage Plugins --> 可选插件

    在搜索框中,输入关键字 kubernetes

    勾选Kubernetes,点击直接安装

    等待几分钟,提示安装完成。

    点击安装完成后重启Jenkins(空闲时)

     

    提示正在重启中

     

    重新登录jenkins,返回首页。点击 Manage Jenkins --> Configure System

    将网页拉动到最底下,点击新增一个云,就会出现Kubernetes

    效果如下:

    如果直接写 kubernetes地址,点击测试,会报错。

    k8s集群信息

    root@k8s-master:~# kubectl cluster-info 
    Kubernetes master is running at https://192.168.10.130:6443
    KubeDNS is running at https://192.168.10.130:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
    
    To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

    根据以上的配置,可以看到,已经是启用https了,这里就涉及到了密钥的问题。

    三、创建admin证书

    安装证书工具

    安装cfssl
    此工具生成证书非常方便, pem证书与crt证书,编码一致可直接使用

     登录k8s master节点执行

    wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
    chmod +x cfssl_linux-amd64
    mv cfssl_linux-amd64 /usr/local/bin/cfssl
    
    wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
    chmod +x cfssljson_linux-amd64
    mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
    
    wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
    chmod +x cfssl-certinfo_linux-amd64
    mv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo

    准备证书签名请求

    vim admin-csr.json

    内容如下:

    {
      "CN": "admin",
      "hosts": [],
      "key": {
        "algo": "rsa",
        "size": 2048
      },
      "names": [
        {
          "C": "CN",
          "ST": "HangZhou",
          "L": "XS",
          "O": "system:masters",
          "OU": "System"
        }
      ]
    }

    证书请求中的O 指定该证书的 Group 为 system:masters

    而 RBAC 预定义的 ClusterRoleBinding 将 Group system:masters 与 ClusterRole cluster-admin 绑定,这就赋予了该证书具有所有集群权限

    创建证书和私钥

    cfssl gencert -ca=/etc/kubernetes/pki/ca.crt -ca-key=/etc/kubernetes/pki/ca.key --profile=kubernetes admin-csr.json | cfssljson -bare admin

    最终生成以下3个文件:

    admin.csr
    admin-key.pem
    admin.pem

    配置证书

    生成pkc格式证书

    我们可以通过openssl来转换成pkc格式: 

    openssl pkcs12 -export -out ./jenkins-admin.pfx -inkey ./admin-key.pem -in ./admin.pem -passout pass:secret

    jenkins-admin.pfx 下载至桌面

    四、配置jenkins认证

    Kubernetes 服务证书 key

    使用以下命令查看

    root@k8s-master:~# cat /etc/kubernetes/pki/ca.crt

    将证书内容填写,点击凭据后面的添加,点击Jenkins

    得到jenkins-admin.pfk文件后,点击Jenkins配置Credentials后面的Add,配置如下

    上传证书

     

    选择文件 jenkins-admin.pfk

    输入密码 secret,后面的内容可以不填写,点击添加。

     

    选择 凭据,点击连接测试。

    出现 Connection test successful 表示连接成功。

     添加Jenkins地址

    点击保存

    本文参考链接:

    https://blog.csdn.net/lusyoe/article/details/80209638

  • 相关阅读:
    ObjectiveC学习之旅(三)内存管理1点语法
    ObjectiveC学习之旅(四)内存管理2retain点语法
    ObjectiveC学习之旅(十)Blocks语法
    DotNetNuke Announcements(from asp.net forums) Carlwave
    DotNetNuke 4.0.0 Starter Kit and Templates... (from http://forums.asp.net/) Carlwave
    最近收集的关于VS,ASP.NET,VB.NET,DNN,SQL2005,XML等的好书推荐 Carlwave
    转:最完整的DNN 4.X 安装攻略(适合3.X版本)(http://kk2000.cnblogs.com/archive/2006/02/21/335077.html) Carlwave
    DotNetNuke基本构架图-帮助你更好的了解DNN开发构架 Carlwave
    Dotnetnuke简介 Carlwave
    在开发ASP.NET程序前必看的msdn技术指南<开发高性能的 ASP.NET 应用程序> Carlwave
  • 原文地址:https://www.cnblogs.com/xiao987334176/p/11338827.html
Copyright © 2020-2023  润新知