如何在kubernetes / docker上更新文件?

时间:2019-07-08 18:58:10

标签: docker kubernetes

我是Docker / Kubernetes的新手,继承了一个应用程序,我希望在Pod上升级JAR文件。

这是豆荚:

Name:           app-name-7c7fddfc7c-vthhr
Namespace:      default
Node:           ip-ip-address-goes-here.us-east-2.compute.internal/ip.address.goes.here
Start Time:     Sat, 06 Jul 2019 19:19:37 +0000
Labels:         app=app-name
                pod-template-hash=3739889737
Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"default","name":"app-name-7c7fddfc7c","uid":"d771243c-9992-11e8-ac11-0298f3...
Status:         Running
IP:             other.ip.address.here
Created By:     ReplicaSet/app-name-7c7fddfc7c
Controlled By:  ReplicaSet/app-name-7c7fddfc7c
Containers:
  app-name:
    Container ID:   docker://fefd826441f2d672c3e622727f6f3c26b9ece4e60c624b6dc96de6f8e97e336f
    Image:          remoteserver.com/app-name:1.24.237
    Image ID:       docker-pullable://remoteserver.com/app-name@sha256:5ffc7926e0437f89e7308b09514ec17cf0679fb20dbf97d78b307d7ee4fb13e2
    Port:           8080/TCP
    State:          Running
      Started:      Sat, 06 Jul 2019 19:19:52 +0000
    Ready:          True
    Restart Count:  0
    Limits:
      memory:  1200Mi
    Requests:
      cpu:     200m
      memory:  900Mi
    Environment:
      ...
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-nvwhs (ro)
Conditions:
  Type           Status
  Initialized    True
  Ready          True
  PodScheduled   True
Volumes:
  default-token-nvwhs:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-nvwhs
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.alpha.kubernetes.io/notReady:NoExecute for 300s
                 node.alpha.kubernetes.io/unreachable:NoExecute for 300s
Events:          <none>

据我所知,ReplicaSet正在复制服务器和装载卷,它们是Amazon快照。

我只是..将该文件上传到Pod,由于它是一个已装入的卷(我的假设),所以它将永远更新吗?我了解这是如何正确工作的吗?

如果我想让任何专家都不了解我的用例的信息,我很乐意将其包括在内。我只是不完全知道我还不知道。

2 个答案:

答案 0 :(得分:2)

豆荚是短暂的。你知道,“牛与宠物”。他们被屠杀,没有带到兽医那里。

当您想添加新代码/新依赖关系时,您将构建一个新的Docker映像并将其部署到集群中。

在代码/ CI管道中的某个地方,有一个Dockerfile文件,该文件定义了将相关性添加到Docker映像中的方式。从那里开始,然后继续到存在的CI / CD管道以用于部署到集群。它可能不像调用kubeclt的脚本那样将图像应用于集群。

答案 1 :(得分:0)

根据您对上一个答案的评论

  

即使关闭服务器并启动新服务器,文件   坚持

您正在寻找persistent volumes,也许您想挂载preexisting Persistent Disks as PersistentVolumes

因此,每次创建新容器时,您将拥有一个带有已装载卷的容器,其中包含更新的文件。