docker - 如何更新 kubernetes/docker 上的文件?
问题描述
我是 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 并且由于它是一个已安装的卷(我的假设) - 它将永远更新?我是否理解这是如何准确工作的?
如果我缺少任何让专家了解我的用例的信息,我很乐意将其包含在内。我只是不完全知道我还不知道什么。
解决方案
Pod 是短暂的。你知道,“牛对宠物”。他们被屠宰,没有被带到兽医那里。
当您想添加新代码/新依赖项时,您可以构建一个新的 Docker 映像并将其部署到集群中。
在您的代码/CI 管道中的某处,有一个 Dockerfile 文件,它定义了将什么/如何添加到 Docker 映像中的依赖项。从那里开始,然后继续使用现有的 CI / CD 管道来部署到集群。它可能像调用 kubeclt 以将映像应用到集群的脚本一样简单。
推荐阅读
- swift - 使用 Firebase Swift 根据管理员和 Normail 用户更改应用程序 UI
- concourse - 大厅有效地重用工作remplates
- python - 在 tkinter 窗口打开时使用控制台
- sql - 在 SQL Server 中组合 2 个复杂查询
- mysql - 在 PHP 中显示一个在 MySql 中的文件名(例如 document.pdf)?
- python - GPT2Simple 运行时出现问题
- cordova - OneSignal + HMS Push Kit 问题
- nginx - 在 Nginx 中将某些 url 从 https 重定向到 http
- javascript - 未捕获的 SyntaxError:预期的表达式,得到 '<'
- javascript - 当使用移动设备打开我的网页时,如何禁用javascript中的某些功能?