当前位置: 首页 > 知识库问答 >
问题:

使用Fabric8的Kubernetes客户端API

娄丁雨
2023-03-14

我正在为Kubernetes使用fabric8 java客户端库。我无法找到对容器执行更新操作的最佳方法。基本上,我想做的是,我已经创建了一个容器映像为“nginx”的pod,现在我想更新这个映像为“nginx:1.16.1”。

我想做的是

client.pods().inNamespace(podsModel.getNamespace()).withName(podsModel.getNamespace()).edit().editSpec()
                .editContainer(0).withNewImage("nginx:1.16.1").endContainer().endSpec().buildSpec();

共有1个答案

宣意致
2023-03-14

您应该能够使用上面的代码编辑podspec,您只需要使用done()而不是buildspec():

try (KubernetesClient client = new DefaultKubernetesClient()) {
  Pod updatedPod = client.pods().inNamespace(namespace)
        .withName(podName)
        .edit().editSpec().editContainer(0)
        .withImage("nginx:1.16.1")
        .endContainer().endSpec().done();
}

但是,您不应该单独使用pod。吊舱的设计是相对短暂的,一次性的实体。您应该使用一些控制器资源(deploymentstatefulset等)来代表您管理pod对象。

维护人员为常见的Fabric8 Kubernetes客户端操作提供了一个文档。您也可以看看这个:Fabric8 Kubernetes客户机备忘单。

 类似资料:
  • 我已经在本地机器中配置了minikube,并打算在外部使用kubernetes。我在kubernetes中创建了一个服务帐户,使用它的秘密,我可以使用下面的命令获得访问令牌。 我正在以贝娄启动配置。 我能知道如何使用fabric8 java客户端获得上面描述的serviceAccountAccessToken吗?

  • fabric8 kubernetes Java&Scala客户机API非常适合与kubernetes(或OpenShift)进行对话,但它的文档非常稀疏。向kubernetes Pod中运行的容器添加资源需求的代码示例是什么?

  • Kubernetic - 一款kubenretes桌面客户端,https://kubernetic.com/,支持以下特性: 实时展示集群状态 多集群,多个namespace管理 原生kubernetes支持 支持使用chart安装应用 使用kubeconfig登陆认证 该客户端支持Mac和Windows系统,beta版本免费使用,stable版本需要付费。beta版本某些功能不完善,比如无法在应

  • cabin是由bitnami开源的手机管理Kubernetes集群的客户端,目前提供iOS和安卓版本,代码开源在GitHub上:https://bitnami.com/ 为了方便移动办公,可以使用Cabin这个kuberntes手机客户端,可以链接GKE和任何Kubernetes集群,可以使用以下三种认证方式: 证书 token kubeconfig文件 所有功能跟kubernetes dashb