сервис curling внутри кластера kubernetes заблокирован корпоративным прокси

У меня есть кластер Kubernetes, работающий за корпоративным прокси. Я не использую Minikube. У меня есть http_proxy, https_proxy и no_proxy, установленные в //etc/environment. no_proxy имеет 127.0.0.0 и каждый node-ip определен.

Если я пытаюсь заюзать сервис с ClusterIP с моего главного узла, я попадаю в корпоративный прокси. Что мне нужно сделать, чтобы я мог получить доступ к службе? Изменение службы на NodePort и доступ к ней извне кластера работает.

Надеюсь, кто-нибудь сможет объяснить мне, что я упускаю. Заранее спасибо.

Yaml файлы развертывания и сервиса

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: app
  name: app-blue
spec:
  replicas: 1
  selector:
    matchLabels:
      run: app
      version: 0.0.1
  template:
    metadata:
      labels:
        run: app
        version: 0.0.1
    spec:
      containers:
      - name: app
        image: errm/versions:0.0.1
        ports:
        - containerPort: 3000
----



apiVersion: v1
kind: Service
metadata:
  name: app-service
spec:
  selector:
    run: app
    version: 0.0.1
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 3000

Kubectl Describe Service

Name:              app-service
Namespace:         default
Labels:            <none>
Annotations:       <none>
Selector:          run=app,version=0.0.1
Type:              ClusterIP
IP Families:       <none>
IP:                10.107.64.107
IPs:               10.107.64.107
Port:              http  80/TCP
TargetPort:        3000/TCP
Endpoints:         10.244.2.4:3000
Session Affinity:  None
Events:            <none>

Curl from Master Node

curl 10.107.64.107:80
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="de" lang="de" xml:lang="de" xmlns="http://www.w3.org/1999/xhtml">

<!--Head-->
<head>
  <meta content="IE=11.0000" http-equiv="X-UA-Compatible">
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>McAfee Web Gateway - Notification</title>
  <script src="/mwg-internal/de5fs23hu73ds/files/javascript/sw.js" type="text/javascript" ></script>
  <link rel="stylesheet" href="/mwg-internal/de5fs23hu73ds/files/default/web.css" />
</head>
<!--/Head-->
<!--Body-->
<body  onload="swOnLoad();" class="background">
<div class="inner_frame">
<div class="head_right_text">
<img alt="Logo" class="emblem" src='/mwg-internal/de5fs23hu73ds/files/default/img/wappen.png'>
</div>

<img alt="Logo" class="lion_left" src='/mwg-internal/de5fs23hu73ds/files/default/img/bg_loewe_links.png'>
<img alt="Logo" class="lion_right" src='/mwg-internal/de5fs23hu73ds/files/default/img/bg_loewe_rechts.png'>

<!--Contents-->
<div class="msg_border">
<div class="msg_head">
Keine Verbindung m&ouml;glich.
</div>
<div class="msg_text">

<p>
Der Proxy hat eine ung&uuml;ltige Antwort erhalten.
</p>
</div>
</div>

<!--/Contents-->
</div>
</body>
<!--/Body-->
</html>
0
задан 31 January 2021 в 22:35
1 ответ

Как обсуждалось в комментариях: проблема здесь в том, что прокси все еще используется, что было бы связано с неполнотой no_proxy.

Использование IP-адресов служб вместо DNS-имен все равно приведет к соблюдению конфигурации среды HTTP-прокси.

Чтобы избежать прохождения адресов SDN через внешний прокси, вы должны быть в состоянии добавить всю подсеть Services в ваш no_proxy, возможно также включить подсеть de Pods, например:

export NO_PROXY=<existing-exclusions>,10.233.0.0/18,10.233.64.0/18
0
ответ дан 24 April 2021 в 02:13

Теги

Похожие вопросы