更新应用
$ kubectl set image deployment/hello-world-flask hello-world-flask=lyzhang1999/hello-world-flask:v1
deployment.apps/hello-world-flask image updated
通过本地Mainifest更新应用
$ kubectl apply -f new-hello-world-flask.yaml
deployment.apps/hello-world-flask configured
修改集群内的Mainifest更新应用
$ kubectl edit deployment hello-world-flask
安装 FluxCD 并创建工作流
$ kubectl apply -f https://ghproxy.com/https://raw.githubusercontent.com/lyzhang1999/resource/main/fluxcd/fluxcd.yaml
创建目录
$ mkdir fluxcd-demo && cd fluxcd-demo
创建 deployment.yaml 文件
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: hello-world-flask
name: hello-world-flask
spec:
replicas: 2
selector:
matchLabels:
app: hello-world-flask
template:
metadata:
labels:
app: hello-world-flask
spec:
containers:
- image: lyzhang1999/hello-world-flask:latest
name: hello-world-flask
为 FluxCD 创建仓库连接信息,将下面的内容保存为 fluxcd-repo.yaml:
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: GitRepository
metadata:
name: hello-world-flask
spec:
interval: 5s
ref:
branch: main
url: https://github.com/lyzhang1999/fluxcd-demo
使用 kubectl apply 将其 GitRepository 对象部署到集群内
$ kubectl apply -f fluxcd-repo.yaml
gitrepository.source.toolkit.fluxcd.io/hello-world-flask created
你可以使用 kubectl get gitrepository 来检查配置是否生效:
kubectl get gitrepository
我们还需要为 FluxCD 创建部署策略。将下面的内容保存为 fluxcd-kustomize.yaml
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: hello-world-flask
spec:
interval: 5s
path: ./
prune: true
sourceRef:
kind: GitRepository
name: hello-world-flask
targetNamespace: default
我们再次使用 kubectl apply 将 Kustomization 对象部署到集群内:
$ kubectl apply -f fluxcd-kustomize.yaml
kustomization.kustomize.toolkit.fluxcd.io/hello-world-flask created
自动发布 更新git就可以触发重新部署,git回滚就能让项目回滚