使用Chef对Openshift API发出HTTP请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Chef对Openshift API发出HTTP请求相关的知识,希望对你有一定的参考价值。

我正在尝试向我的本地Minishift集群发出API请求,以使用chef创建项目请求。

http_request 'create_project_request' do
  action :post     
  url 'https://192.168.99.104:8443/apis/project.openshift.io/v1/projectrequests'
  message({
    "kind": "ProjectRequest",
    "apiVersion": "project.openshift.io/v1",
    "description": "A test project request made with Chef",
    "displayName": "Test",
    "metadata": {
      "name": "test-project"
    }
    }.to_json)
  headers({
    "AUTHORIZATION" => "Bearer $token",
    "Content-Type" => "application/json"
    })
   end  

当我运行配方时,我收到一条错误,指出SSL证书验证失败。

我一直在尝试使用openssl客户端尝试手动下载证书并将其添加到/ etc / chef / trusted_certs,但是openssl客户端不允许您下载没有主机名的证书。

有没有办法绕过SSL验证,或让厨师接受带有自签名证书的服务器的HTTP请求?

答案

您可以使用openssl s_client -connect 192.168.99.104:8443 -debug -showcerts获取证书数据。然后把它放在trusted_certs/的文件中。

以上是关于使用Chef对Openshift API发出HTTP请求的主要内容,如果未能解决你的问题,请参考以下文章

Openshift API部分源码学习笔记

OpenShift 如何获取bearer Token以便进行各种API调用

批量安装-Artifactory-从ARTIFACTORY_URL / api / chef / some-chef-repo HANGS中获取食谱索引

r 使用R #API对wormbase发出请求

在 OpenShift 上安装 Tekton Triggers EventListener (for GitLab) 会导致:错误配置映射被禁止:无法在 API 中获取资源配置映射

在线阅读 Redhat OpenShift 内部的秘密?