1 min read

K8S集群应用代理上网

背景

实现

服务级代理

containerd

mkdir -p /etc/systemd/system/containerd.service.d

cat << EOF > /etc/systemd/system/containerd.service.d/override.conf
[Service]
Environment=http_proxy=http://IP地址:端口
Environment=https_proxy=http://IP地址:端口
Environment=no_proxy=127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
EOF

集群内代理

定义一个名为proxy-config的代理configmap

apiVersion: v1
kind: ConfigMap
metadata:
  name: proxy-config
data:
  http_proxy: http://IP地址:端口
  https_proxy: http://IP地址:端口
  no_proxy: localhost,.svc,.svc.cluster.local,.cluster.local,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16

在控制器上引用环境变量

  containers:
      envFrom:
      - configMapRef:
        name: proxy-config

直接声明

        env:
        - name: http_proxy
          value: http://IP地址:端口
        - name: https_proxy
          value: http://IP地址:端口
        - name: no_proxy
          value: localhost,127.0.0.1,.svc,.svc.cluster.local,.cluster.local,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
        - name: NO_PROXY
          value: localhost,127.0.0.1,.svc,.svc.cluster.local,.cluster.local,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16