容器开发机常见问题

1.开发机关机后是否还在计费?

开发机关机后计费停止,无需担心额外的成本。

2.共享存储未挂载是否计费?

云存储按照申请容量计费,申请后只要不删除,都会一直计费,若无使用需求,请及时删除。

3.如何在集群中修改开发机配置?

💡 注意
本地计算机需要已经连接对应集群,详情请参考连接集群

本案例将H800 4卡调整至8卡。

# 查找并确认需要升降配的开发机。
yangqingwen@yangqingwendeMacBook-Pro .kube % kubectl get containerserver       
NAME    STATUS     AGE     ENABLE-DOCKER
a1      Running    7m52s   false
ka8-1   Starting   8d      false
w2      Running    2d1h    true

# 修改需要升降配的开发机,edit进入编辑页。
yangqingwen@yangqingwendeMacBook-Pro .kube % kubectl edit containerserver ka8-1

# 修改如下内容,cpu-->160,gpu-->8,memory-->1600Gi,修改完成后:wq 保存退出完成操作。
  resources:
    cpu:
      count: "80"
    gpu:
      count: "4"
      type: H800_NVLINK_80GB
    memory:
      count: 800Gi

4.开发机如何使用RDMA?

只需要在您部署容器的yaml文件资源定义中加上RDMA设备标签,目前支持如下配置:

    resources:
      limits: # 指定资源配额,例如:CPU 上限、内存上限、 本地存储大小、GPU 卡数等。
        cpu: "10"
        ephemeral-storage: 100Gi
        memory: 100Gi
        nvidia.com/gpu: "1"
        rdma/hca_shared_devices_ib: 1
      requests: # 指定资源最小请求值,例如:CPU 、内存、 本地存储大小、GPU 卡数等。
        cpu: "10"
        ephemeral-storage: 100Gi
        memory: 100Gi
        nvidia.com/gpu: "1"   # 这里指定要申请的GPU卡数
        rdma/hca_shared_devices_ib: 1

5.如何使用公网IP?

💡 注意
若已经使用LoadBalancer类型的service,想改成ClusterIP + Ingress方式使用,因LoadBalancer类型无法降级,不要直接改service的类型,需要重新创建新的ClusterIP的service使用。

目前英博云仅支持在命令行中使用公网IP,yaml文件示例:

apiVersion: v1
kind: Service
metadata:
  name: example-gpu-service # service的名称
spec:
  ports:
  - name: ssh # service 端口的名称
    port: 22 # service 的端口
    protocol: TCP # 暴露端口的协议
    targetPort: 22 # 目标容器开放的端口
  selector:
    app: 
  type: LoadBalancer # service类型,启用通过LB的方式申请公网IP

若需要将公网IP绑定给开发机使用,需要将开发机的labels设置为公网IP的selector。

  1. 获取开发机pod名称。
yangqingwen@yangqingwendeMacBook-Pro .kube % kubectl get pods
NAME                READY   STATUS    RESTARTS   AGE
demo1-0-server      1/1     Running   0          23m
llamayqw-0-server   1/1     Running   0          41m
  1. 获取开发机labels。
yangqingwen@yangqingwendeMacBook-Pro .kube % kubectl get pods demo1-0-server -oyaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2025-04-03T09:18:58Z"
  labels:
    containerserver.apps.ebcloud.com/name: demo1-0
    containerserver.apps.ebcloud.com/namespace: vcluster_default
    containerserver.apps.ebcloud.com/uid: eb1d8b42-47e0-4203-a89a-66d244b45317
  1. 将开发机labels设置为公网IP的selector。
apiVersion: v1
kind: Service
metadata:
  name: example-gpu-service # service的名称
spec:
  ports:
  - name: ssh # service 端口的名称
    port: 22 # service 的端口
    protocol: TCP # 暴露端口的协议
    targetPort: 22 # 目标容器开放的端口
  selector:
    containerserver.apps.ebcloud.com/name: demo1-0
    containerserver.apps.ebcloud.com/namespace: vcluster_default
    containerserver.apps.ebcloud.com/uid: eb1d8b42-47e0-4203-a89a-66d244b45317
  type: LoadBalancer # service类型,启用通过LB的方式申请公网IP

6.当通过yaml自定义filebrowser、docker registry等服务时,外网ingress和内网ingress host是什么?

💡 注意
tenant-39663739-yqwowner为集群名称,user-defined-name必须2-8个字符。

外网:[user-defined-name]-tenant-39663777-yqwowner-ingress-cn-regionxxx.eks.ebcloud.com

内网:[user-defined-name]-tenant-39663777-yqwowner-ingress-cn-regionxxx-internal.eks.ebcloud.com