licolnlee886

Java 如何能够获取 job 创建的对应 pod 的名称或者 IP

  •  
  •   licolnlee886 · Jan 24, 2024 via Android · 1845 views
    This topic created in 850 days ago, the information mentioned may be changed or developed.
    想请教一下各位大佬,现在假如我有一个 job.yaml ,我需要通过这一个 yaml 文件创建多个 job ,按照 k8s 官方处理逻辑是会自动在 name 后面加入一串随机字符串作为 podName 。我希望能够在我通过 java api 创建 job 的时候返回该 podName 以确定身份,需要怎么做?
    1 replies    2024-01-24 19:14:13 +08:00
    Frankcox
        1
    Frankcox  
       Jan 24, 2024
    Java 的 k8s client 包我没写过,不太清楚,golang 的话,有两个方案:
    1.List 同 namespace 下的所有 pod ,获取每个 Pod 的 OwnerReference ,根据 Kind=Job ,Name={job_name}进行匹配
    2.直接通过 labels 创建 list 的 options,大概代码是
    set := deployment.Spec.Selector.MatchLabels
    listOptions := metav1.ListOptions{LabelSelector: metav1.FormatLabelSelector(metav1.SetAsLabelSelector(set))}
    pods, err := clientset.CoreV1().Pods(deployment.Namespace).List(context.TODO(), listOptions)
    这是 deployment 的,替换成 Job 的就行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2739 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 02:15 · PVG 10:15 · LAX 19:15 · JFK 22:15
    ♥ Do have faith in what you're doing.