配置公网 IP
英博云支持通过公网 IP 的方式,对外暴露服务。
配置公网IP的操作均为 K8S Native 方式,您需要通过 kubectl 命令进行操作,关于 kubectl 工具,具体参考这里。
注意:
- 本文档仅限于为普通 K8S 工作负载配置公网 IP,为开发机(ContainerServer)配置公网 IP,为请参考这里。
使用 Service 分配公网 IP
英博云支持用k8s native的方式为服务分配公网IP,通过定义 LoadBalancer 类型的 Service 实现,一个示例如下:
---
apiVersion: v1
kind: Service
metadata:
name: sglang-svc
namespace: default
spec:
type: LoadBalancer
ports:
- port: 9080
targetPort: 8080
protocol: TCP
selector:
app: sglang
查看公网 IP 的地址
可以通过如下如下命令查看公网 IP:
% kubectl get svc sglang-svc -owide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
sglang-svc LoadBalancer 10.233.xx.xx 117.74.xx.xx 9080:31740/TCP 15s app=sglang
其中EXTERNAL-IP字段为公网IP的值。
释放公网 IP
若希望释放公网 IP,建议删除 Service,示例如下:
kubectl delete svc sglang-svc
注意:
- 将Service类型改为
ClusterIP或者NodePort,也可以释放公网IP,但是要注意,把yaml中的NodePort的具体端口删除,否则可能因为端口冲突,导致释放失败。- 用修改Service类型的方式释放公网IP时,建议通过
kubectl describe service sglang-svc查看k8s事件,确保没有错误,表示类型修改成功。