我在本地计算机上有一个Maven项目,在仓库中有一个docker映像,我使用gitlab和jenkins使构建自动化,现在我想用当前设置继续部署到Kubernetes。我不知道如何做到这一点。任何输入将不胜感激。
我的Yaml文件看起来像这样
apiVersion: v1
kind: Pod
metadata:
name: client-pod
labels:
component: web
spec:
containers:
- name: client
image: <image>
ports:
- containerPort: 3000
答案 0 :(得分:0)
最简单的方法是设置新图像的名称。参见here:
kubectl --record deployment.apps/nginx-deployment set image deployment.v1.apps/nginx-deployment nginx=nginx:1.9.1
您将需要从gitlab / Jenkins到群集的访问权限。
另一种选择是使用某种Kubernetes部署工具,例如helm或任何其他solution。这种情况将在更复杂的情况下为您提供帮助,在这些情况下您还想更新配置文件(k8s yamls)。
答案 1 :(得分:0)
一旦图像被构建并推送到容器存储库中,您只需要设置新图像
>>> docker build -t repo-name/whatever-app:<version>
>>> docker push repo-name/whatever-app:<version>
>>> kubectl set image deployment/my-deployment mycontainer=repo-name/whatever-app:<version>
答案 2 :(得分:0)
您可以使用this示例性的jenkins管道来构建您的dockerized maven-app并将其部署到带舵的Kubernetes。它包含以下步骤:
它认为通过Jenkins和Kubernets实现CI / CD是一个不错的起点。