Java k8s 创建pod

Java k8s 利用YAML配置文件的形式创建pod,通过volumeMounts和volumes进行路径挂载

 public static void main(String[] args) throws IOException, ApiException, ClassNotFoundException {

      //获取客户端
      ApiClient client = Config.defaultClient();
      Configuration.setDefaultApiClient(client);

      //指定分类
      Yaml.addModelMap("v1", "Pod", V1Pod.class);

      //加载配置文件
      File file = ResourceUtils.getFile("classpath:test-svc.yaml");
      V1Pod v1Pod = (V1Pod) Yaml.load(file);

      //打印格式
      System.out.println(Yaml.dump(v1Pod));

      //创建pod
      CoreV1Api api = new CoreV1Api();
      V1Pod v1Pod1 = api.createNamespacedPod("default", v1Pod, "false", null, null);

    }

配置文件如下:

apiVersion: v1   #API版本
kind: Pod   #类型
metadata:
  name: xueweitest   #节点名称
  labels:
    app: web
spec:
  nodeName: server100   #指定运行节点,为了测测试添加
  restartPolicy : Never #重启策略[Always | Never | OnFailure]
  containers:
    - args:   #给容器传参
        - --NO
        - 20200728154957171
        - --EType
        - dynamic
        - --MPath
        - /home/model
      image: 127.0.0.1:7005/xuewei/myImage:v1.0    #镜像名:TAG
      name: xueweitest   #容器名称
      ports:
        - containerPort: 80   #默认端口,没有设置80,否则启动失败
      volumeMounts:    #挂载镜像 容器内路径
        - name: model
          mountPath: /home/model
        - name: dataset
          mountPath: /home/dataset
  volumes:  #挂载镜像 本地路径
    - name: model
      hostPath:
        path: /home/data/atp/evaluation/
    - name: dataset
      hostPath:
        path: /home/data/atp/dataset/0b3b279a673b3f5706b9c2975e3ddf9a

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值