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