《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.7环境中验证

文章目录

  • OpenShift的身份认证方式
  • 为客户端配置认证CA证书
  • 参考

OpenShift的身份认证方式

客户端在访问OpenShift的时候可以使用3种方式向OpenShift提供认证信息。

  • 用户名密码
  • Token
  • CA证书
    本文说明如何为客户端配置认证CA,并将其配置到kubeconfig中进行自动登录。

为客户端配置认证CA证书

  1. 先用clusteradmin角色的用户登录OpenShift。
  2. 设置变量
$ AUTH_NAME="auth2kube"
$ KUBECONFIG_FILE="~/mykubeconfig"
  1. 为“myuser”创建证书申请(csr文件)和对应秘钥。
$ openssl req -new -newkey rsa:4096 -nodes -keyout $AUTH_NAME.key -out $AUTH_NAME.csr -subj "/CN=myuser/O=system:masters"
Generating a RSA private key
.....................++++
..++++
writing new private key to 'auth2kube.key'
-----
  1. 为证书签名请求(csr)创建对应的K8s对象。
$ cat << EOF>> $AUTH_NAME-csr.yaml
apiVersion: certificates.k8s.io/v1beta1
kind: CertificateSigningRequest
metadata:name: $AUTH_NAME-access
spec:groups:- system:authenticatedrequest: $(cat $AUTH_NAME.csr | base64 | tr -d '\n')usages:- client auth
EOF$ oc create -f auth2kube-csr.yaml
W0610 07:38:10.053898     536 warnings.go:70] certificates.k8s.io/v1beta1 CertificateSigningRequest is deprecated in v1.19+, unavailable in v1.22+; use certificates.k8s.io/v1 CertificateSigningRequest
certificatesigningrequest.certificates.k8s.io/auth2kube-access created
  1. 查看csr 请求,并审批通过。
$ oc get csr auth2kube-access
NAME               AGE   SIGNERNAME                     REQUESTOR   CONDITION
auth2kube-access   16s   kubernetes.io/legacy-unknown   admin       Pending$ oc adm certificate approve auth2kube-access
certificatesigningrequest.certificates.k8s.io/auth2kube-access approved
  1. 从批准后的证书获取客户端证书(crt文件)。
$ oc get csr $AUTH_NAME-access -o jsonpath='{.status.certificate}' | base64 -d > $AUTH_NAME-access.crt
  1. 利用客户端证书和秘钥创建新的kubeconfig。
$ oc config set-credentials myuser --client-certificate=$AUTH_NAME-access.crt --client-key=$AUTH_NAME.key --embed-certs --kubeconfig=${KUBECONFIG_FILE}
User "myuser" set.
  1. 设置 myuser 登录后缺省使用default项目。
$ oc config set-context myuser --cluster=$(oc config view -o jsonpath='{.clusters[0].name}') --namespace=default --user=myuser --kubeconfig=${KUBECONFIG_FILE}
Context "myuser" created.
  1. 获得OpenShift的CA证书,并将其加入kubeconfig中。
$ oc -n openshift-authentication rsh `oc get pods -n openshift-authentication -o name | head -1` cat /run/secrets/kubernetes.io/serviceaccount/ca.crt > ingress-ca.crt$ oc config set-cluster $(oc config view -o jsonpath='{.clusters[0].name}') --server=$(oc config view -o jsonpath='{.clusters[0].cluster.server}') --certificate-authority=ingress-ca.crt --kubeconfig=${KUBECONFIG_FILE} --embed-certs
Cluster "local" set.
  1. 设置当前使用${KUBECONFIG_FILE}中的配置。
$ oc config use-context myuser --kubeconfig=${KUBECONFIG_FILE}
Switched to context "myuser".$ export KUBECONFIG=${KUBECONFIG_FILE}
  1. 直接用myuser登录验证,登录过程不需要密码,而是用kubeconfig中的证书进行登录。
$ oc login -u myuser
Logged into "https://openshift:6443" as "myuser" using existing credentials.You have access to 61 projects, the list has been suppressed. You can list all projects with 'oc projects'Using project "default".$ oc whoami
myuser

参考

https://rcarrata.com/openshift/regenerate-kubeconfig/

OpenShift 4 - 为客户端配置使用基于CA证书的kubeconfig实现无密码登录相关推荐

  1. The Things Network LoRaWAN Stack V3 学习笔记 2.1.2 客户端导入自签名 CA 证书

    前言 TTN 的开发环境使用了自签名证书,浏览器端在进行OAUTH登录时会弹出警告,当然我们可以无视警告强制跳转.但本地客户端 CLI 也需要进行 SSL 交互,因此本地也需要添加 CA 证书. 否则 ...

  2. Fiddler抓包解析https且配置安卓手机CA证书、抓取微信数据包

    准备工作 Fiddler v5.0.20173.50948 step1: 点击Tools->选择HTTPS 点击图中的4选择export Root Ceratificate to Desktop ...

  3. adsl服务器客户端配置cisco_基于ISE对Cisco网络设备部署AAA

    基于ISE对Cisco网络设备部署AAA 上期小武老师我教你们安装了ISE服务器,那么现在服务器安装好了,AAA如何部署实现呢?现在我就来教你们! 跟着小武我开始吧-- 一.ISE初始化配置 1.1. ...

  4. FJ集团企业级邮件服务器---iRedMail客户端配置

    FJ集团企业邮件服务器---iRedMail客户端配置 一.Roundcube Webmail设置: 1.登录:注:用户名:paul 密码:XXXX 2.发邮件: 如下图所示: 二.客户端outloo ...

  5. 04-Windows Server 2012 R2 会话远程桌面-标准部署-CA证书(RemoteApp)

    在之前的博客中,已经按照标准部署进行了配置,基本上标准的部署已经完成,但是在IT环境中,细节决定成败,在我们通过Web进行访问RemoteApp程序时候,总会有一些警告和阻拦,这些问题虽然不影响到用户 ...

  6. openssl私有CA证书签发与单双向认证

    什么是CA? CA是数字认证中心的简称.指的是发放.管理.废除数字证书的机构. CA的作用: 检查证书持有者身份的合法性.签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理. 建 ...

  7. CA证书理解?CA证书的作用?

    CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书.要对CA证书完全理解及其作用,首先要理解SSL.SSL(security sockets layer,安 ...

  8. Windows下OpenSSL创建CA证书以及客户端和服务器端证书

    打开命令行工具,转到安装目录bin文件夹, $ mkdir -p ./demoCA/{private,newcerts} $ touch ./demoCA/index.txt $ echo 01 &g ...

  9. Mysql开启ssl加密协议及Java客户端配置操作指南

    Mysql开启ssl加密协议及Java客户端配置操作指南 Mysql配置 验证Mysql开启SSL Java客户端操作 生成证书密码 配置数据库连接 工具配置 Mysql配置 Mysql需要配置对应的 ...

最新文章

  1. IOSUIcontrol事件
  2. 南京大学教授施斌及其团队—— 光纤变“神经” 大地能感知
  3. java字符串的用法_Java字符串的重要方法的使用实例
  4. autowired 静态方法使用_关于springboot工具类中@Autowired注入bean,用static直接修饰,静态方法使用bean时报空指针异常错误...
  5. java调用easyxml接口_【技术教程】如何通过Java程序调用RTSP拉流协议视频平台EasyNVR程序接口?...
  6. 【client】与【offset】
  7. ASP.NET MVC:会导致锁定的会话
  8. Linux 和 Windows 平台不同的 UCS-2 编码
  9. c#中接口的使用方法图解_c# 接口方法中使用new有什么用?
  10. 尴尬!OpenAI惊现大漏洞,一张手写纸条竟瞒过计算机视觉系统
  11. shell 创建文件_vba代替鼠标打开文件夹
  12. Sessions, Window Stations and Desktops(GetDesktopWindow函数得到的桌面句柄, 是Csrss.exe创建的一个窗口)
  13. PS去除图片和PDF中的水印
  14. java实现界面化,java实现图形化界面
  15. VMDK(VMWare Virtual Machine Disk Format)是虚拟机VMware创建的虚拟硬盘格式
  16. 用文氏图解析条件概率与贝叶斯概率
  17. Camtasia Studio2023非常好用的电脑录屏软件
  18. 介绍120 个相见恨晚的神器网站--学习、搜索、图片、视频样样不少!
  19. mac 上传ftp服务器文件大小,mac与windows通过ftp传输文件
  20. 顺序栈栈顶指针指向详析

热门文章

  1. 在计算机系统中 外存储器必须通过,大学计算机基础第4章作业.doc
  2. 登峰连接程式改坐标软件_数控仿真软件CIMCOEdit常用的操作,新手必看
  3. c++ 项目_罗纳尔多相信C罗从事技巧类项目,其成就不会亚于他在足坛的成绩
  4. 设计轻松应用素材 | 免抠png和图标上哪找
  5. 2020年的UI设计师需要会什么软件
  6. matlab运动背景位移矢量,位移云图三维位移矢量图
  7. (全网唯一)Python 10行代码 实现 PDF转WORD
  8. REDM库使用教程01(详细入门)
  9. MyBatis的总结(下)
  10. CUDA的线程层次结构