当前位置: 首页 > 知识库问答 >
问题:

kubectl通过负载平衡器

公良运锋
2023-03-14


kubernetes集群与api服务器(https://192.168.0.10:6443)

想法:
从我的笔记本电脑,我想运行kubectl,指向负载均衡器,在那里牧师代理将把我重定向到api服务器。

步骤:
-我将kubeconfig(笔记本电脑上)文件中的服务器ip更改为LB的ip:https://192.168.0.10:6443是http://10.10.0.2:8080/
-我这样配置nginx:

server {
    listen 8080 default_server;
    listen [::]:8080 default_server;
    server_name _;
    location / {
            proxy_pass https://192.168.0.10:6443;
    }
}

现在运行例如kubectl获取节点我希望获取节点列表,但它不起作用:

错误:您必须登录到服务器(未经授权)

$ curl http://10.10.0.2:8080/
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "Unauthorized",
  "reason": "Unauthorized",
  "code": 401

如果我添加到nginx config:

ssl on;
ssl_certificate /root/certs/admin-k-master-1.pem;
ssl_certificate_key /root/certs/admin-k-master-1-key.pem;

并将kubeconfig文件服务器IP更改为https://10.10.0.2:8080/

$ kubect get nodes
Unable to connect to the server: x509: certificate is valid for 192.168.0.10 not 10.10.0.2

有类似的话题,但与库贝特尔无关。

我怎样才能做到这一点?或者我做错了什么。

共有3个答案

司空俊雅
2023-03-14

将10.10.0.2放入openssl的“alt\u name”部分。cnf并重建您的apiserver密钥对,然后apiserver将把对10.10.0.2的查询视为有效。

梁韬
2023-03-14

从我的笔记本电脑,我想运行kubectl指向负载均衡器,在那里牧师代理将把我重定向到api服务器。

>

upstream kube {
   server kubernetes:443;
}

server {
   listen 80;
   server_name kubernetes.my-domain.com;
   root /nowhere;
   rewrite ^ https://kubernetes.my-domain.com$request_uri permanent;
 }

server {
   listen 443 ssl;
   server_name kubernetes.my-domain.com;

   ssl_certificate      /etc/nginx/ssl/kubernetes.my-domain.com.crt;
   ssl_certificate_key  /etc/nginx/ssl/kubernetes.my-domain.com.key;

   location / {
     proxy_set_header        Host $host:$server_port;
     proxy_set_header        X-Real-IP $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header        X-Forwarded-Proto $scheme;
     proxy_redirect http:// https://;
     proxy_pass              https://kube;
     # Required for new HTTP-based CLI
     proxy_http_version 1.1;
     proxy_request_buffering off;
     proxy_buffering off; # Required for HTTP-based CLI to work over SSL
   }
}
毋宸
2023-03-14

解决方案之一是添加到nginx配置文件:

proxy_pass127.0.0.1:8001;

并在负载均衡器实例中运行:

kubectl代理。

然后它就起作用了。

 类似资料:
  • Eureka是否提供开箱即用的负载平衡,是否需要另一个依赖项? 为什么是丝带而不是尤里卡? 为什么通过API网关使用负载平衡? Spring-cloud-starter-loadbalancer,为什么需要这个? 客户端平衡还是服务器端负载平衡,为什么用一个胜过另一个?

  • 我有两条溪流。一个是事件流,另一个是数据库更新流。我想用从DB更新流构建的信息丰富事件流。 事件流非常庞大,使用5个字段进行分区。这给了我很好的分配。DB流不那么喋喋不休,并且使用两个字段进行分区。我目前正在使用两个公共字段连接这两个流,并使用flapMap来丰富第一个流。flatMap运算符使用ValueState维护状态,状态由两个公共字段自动键入。 除了实现自定义逻辑来手动提取键并更新维护状

  • 我是微服务的新手。(学习阶段)。我有一个问题。我们在云中部署微服务。(例如 AWS)。云已经提供了负载平衡和日志。我们还在Spring Boot中实现了负载平衡(功能区)和日志(Rabbit MQ和Zipkin)。这两种实现有什么区别?我们两者都需要吗?有些人可以回答这些问题吗? 提前感谢。

  • web-service预期会有很多调用,而我希望在出现故障时使该服务成为冗余,因此我希望有两个实例同时运行以处理所有请求。 1)让两个级别的Web服务同时处理请求的最佳方法是什么?使用外部负载均衡器还是使用AKKA/AKKA-HTTP中的某种魔法(我不知道)? 2)我必须调整哪些主要参数来提高性能?

  • 我们面临着 ActiveMQ - M 集合负载平衡的几个问题。有人可以帮忙吗?以下是我们的设置 MCO在故障转移池-Broker1中配置了两个ActiveMQ代理 经纪人1 问题1:MCO客户端在broker1和broker2之间的负载平衡和连接不相等。700 MCO连接到broker1,而只有100 MCO连接至broker2。我们是否缺少此负载平衡的任何属性? 问题 2: 当我们添加新的代理(

  • 我用JMeter创建了测试来测试幽灵博客平台的性能。Ghost是用Node.js编写的,安装在云服务器上,有1GB的内存和1个CPU。 我注意到在400个并发用户之后JMeter得到错误。到400个并发用户的负载是正常的。我决定增加CPU,增加了1个CPU。 但是错误重现并添加了2个CPU,总共4个CPU。问题发生在400个并发用户之后。 我想知道是否有可能平衡CPU之间的负载?