配置公网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事件,确保没有错误,表示类型修改成功。