端云互联支持基于Kubernetes集群的代理或者基于SSH和SOCKS协议的代理作为底层代理通道,本文介绍配置代理的常见场景。
前提条件
如果您使用Kubernetes代理,需准备如下工作:
您需要在本地准备Kubectl执行环境,可通过Kubectl以及kubeconfig文件来访问Kubernetes集群。
如果您使用SSH或SOCKS代理,请完成以下工作:
使用一台可使用SSH登录的ECS,用于建立端云互联通道。具体操作,请参见通过控制台使用ECS实例(快捷版)云服务器ECS快速入门。重要- 请确保该ECS实例和需要互联的应用在同一个VPC内。
- SSH通道需要使用密码方式登录,暂不支持使用密钥对登录。
配置Kubernetes代理
- 启动IntelliJ IDEA。
- 在顶部菜单栏中选择
- 在Settings对话框中选择 。
- 在Proxy页面中单击AddProfile,生成一个空代理。
- 在Profile Detail区域右侧单击Add。
- 在代理配置对话框中设置Kubernetes代理相关内容,单击OK。
参数 描述 代理类型 选择Kubernetes代理类型。 配置文件 选择本地kubeconfig配置文件。 命名空间 选择Kubernetes集群中的命名空间,其中Kubernetes集群默认命名空间为default。
当使用端云互联(本地进程启动模式或本地容器启动模式)运行您的运行应用时,Cloud Toolkit插件(Alibaba Cloud Toolkit)会在该命名空间下创建一个临时的代理容器,代理容器将需占用64MB ~ 128MB的内存。当您停止本地应用时,Cloud Toolkit插件会自动清理该代理容器。
说明 Cloud Toolkit插件部署的代理容器以etrans-开头。
配置SSH或SOCKS代理
对于SSH或SOCKS代理,您可配置单个的SSH代理作为底层代理通道;在复杂场景下您也可以串联多级的SSH或SOCKS代理节点(只需保证最后一级代理为SSH代理即可),插件自动会串联连接所配置的多级代理节点。
配置单级SSH代理
- 启动IntelliJ IDEA。
- 在顶部菜单栏中选择
- 在Settings对话框中选择 。
- 在Proxy页面中单击AddProfile,生成一个空代理。
- 在Profile Detail区域右侧单击Add。
- 在代理配置对话框中设置SSH代理账号及密码,单击OK。
参数 描述 代理类型 选择SSH代理类型。 代理IP和端口 输入代理机的IP和端口。 账号 输入代理机账号。 密码 输入代理机密码。
配置多级代理
对于安全要求极高的项目可能会限制对外开放SSH登录,这种场景可利用端云互联多级代理能力来构建符合安全合规的代理。
重要 在配置多级代理时,靠近云端服务的最后一级代理必须配置为SSH代理。
- 启动IntelliJ IDEA。
- 在顶部菜单栏中选择
- 在Settings对话框中选择 。
- 在Proxy页面中单击AddProfile,生成一个空代理。说明 多级代理都是基于同一个Profile进行配置,同一个Profile下的代理配置同时生效,多个代理形成级联。
- 配置SSH代理。
- 在Profile Detail区域右侧单击Add。
- 在代理配置对话框中设置SSH代理账号及密码,单击OK。
参数 描述 代理类型 选择SSH代理类型。 代理IP和端口 输入代理机的IP和端口。 账号 输入代理机账号。 密码 输入代理机密码。
- 配置SOCKS代理。
- 在Profile Detail区域右侧单击Add。
- 在代理配置对话框中设置SOCKS代理IP和端口,单击OK。
参数 描述 代理类型 选择SOCKS代理类型。 代理IP和端口 输入代理机IP和端口。 账号 输入代理机账号,SOCKS代理如无认证可省略此配置。 密码 输入代理机密码,SOCKS代理如无认证可省略此配置。
(可选)手动初始化代理
一般情况下,您可通过插件来一键完成代理初始化,在初始化过程中需要暂时使用SSH代理所在宿主机的Root权限来完成配置。完成配置后即可正常使用,并且可重复复用该代理账号配置,无需重新初始化。插件不会保存该Root密钥,也不会用于别的用途。如果您不便于提供Root权限,那么可通过如下步骤来初始化代理:
说明 手动初始化代理需要跳板机上执行。
- 编辑sshd_config配置。
sudo vi /etc/ssh/sshd_config
- 添加如下配置允许SSH账号进行请求转发。
ClientAliveInterval 60 # SSH代理宿主机每隔60秒向本地Client发送保活请求,以维持连接不断开,您可根据实际需要来进行设置。 Match User <yourSSHAccount> # SSH账号名称。 GatewayPorts yes
- 重启SSH服务。
- Debian/Ubuntu系统:
sudo systemctl restart ssh
- CentOS/RHEL/Fedora系统:
sudo systemctl restart sshd
- Debian/Ubuntu系统:
文档内容是否对您有帮助?