zoukankan      html  css  js  c++  java
  • 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地址

    点击保存

  • 相关阅读:
    vs2017中信号与槽连接
    生成格雷码
    结构光三维测量技术
    格雷码生成算法
    结构光三维重建
    Qt之CMake和MinGW编译OpenCV
    qt+opencv编译环境的配置
    vs2017+opencv配置参考链接
    2019-3-25多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)
    2019-3-22c# TextBox只允许输入数字,禁用右键粘贴,允许Ctrl+v粘贴数字
  • 原文地址:https://www.cnblogs.com/yangxiaochu/p/11981136.html
Copyright © 2011-2022 走看看