Kubernetes REST API-未经授权

时间:2019-03-22 13:58:21

标签: rest api kubernetes authorization

我有以下Kubernetes REST API请求

import React, { Component } from 'react';
import './App.css';
import { BrowserRouter as Router,
        Route,
        Link,
        Switch,
        Redirect
 } from 'react-router-dom';

class App extends Component {
  render() {
    return (
      <Router>
        <div>
          <Navbar />
        <Switch>
          <Route exact path="/" component={Home} />
          <Route exact path="/Home" component={Home} />
        </Switch>
        </div>
      </Router>
    );
  }
}

export default App;

,并在请求中包含以下HTTP标头:

GET https://theserver/api/v1/pods?includeUninitialized=true

结果是以下错误

Authorization: Basic ***************
Accept: application/json, */*
User-Agent: kubectl.exe/v1.13.0 (windows/amd64) kubernetes/ddf47ac

我已经尝试了以下方法:

  • 模拟kubectl请求“ kubectl描述pods --all-namespaces”工作正常(但我需要REST)
  • 在newkind101对Kubernetes REST API的评论中使用了“ --v = 12”参数,以查看底层的REST API调用-与我的相同
  • 阅读Kubernetes文档-但我未能找到要发送的HTTP标头或HTTP正文值以进行正确身份验证的详细信息(我可以从该文档中的curl样本调用中检索到的东西很少)
  • 我读过Access Kubernetes API using REST APIs,但在使用GoDaddy之类的框架之前,该如何理解我的问题

kubectl似乎比我在使用“ --v = 12”参数时所能看到的要多。该位可能与“ .kube / config”文件中的内容有关。仍然我不知道在HTTP请求中确切输入的内容和位置。

1 个答案:

答案 0 :(得分:0)

据我所知,Basic authentication方法默认情况下处于禁用状态,需要通过在API服务器配置中添加--basic-auth-file标志来启用,因此对REST API的所有请求都被标识为{{3} },并可能导致401 Unauthorized错误。