如何在Kubernetes容器内部署-使用CI/CD?
情形:
- 我正在使用Kaniko在Kubernetes中构建
- 现在如何在Kuberneters中运行kubectl。我确实有合适的服务账号。第一个问题是准备一个容器来执行kubectl。
注:- /bin/cat
我发现了这个,但是它给出了错误:
apiVersion: v1
kind: Pod
metadata:
name: kubectl-deploy
spec:
containers:
- name: kubectl
image: bitnami/kubectl:latest
imagePullPolicy: Always
command:
- /bin/cat
tty: true
错误:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 78s default-scheduler Successfully assigned default/kubectl-deploy to master
Normal Pulled 76s kubelet Successfully pulled image "bitnami/kubectl:latest" in 874.059036ms
Normal Pulled 74s kubelet Successfully pulled image "bitnami/kubectl:latest" in 860.59161ms
Normal Pulled 60s kubelet Successfully pulled image "bitnami/kubectl:latest" in 859.31958ms
Normal Pulling 33s (x4 over 77s) kubelet Pulling image "bitnami/kubectl:latest"
Normal Created 32s (x4 over 76s) kubelet Created container kubectl
Normal Started 32s (x4 over 76s) kubelet Started container kubectl
Normal Pulled 32s kubelet Successfully pulled image "bitnami/kubectl:latest" in 849.398179ms
Warning BackOff 7s (x7 over 73s) kubelet Back-off restarting failed container
我发现了这个,但是它给出了错误
当你在Kubernetes中运行Pod时,默认情况下,它期望它是一个长时间运行的服务。但是在您的示例中,您运行一次性的命令,该命令立即终止。要在Kubernetes中运行一次性命令,最简单的方法是将它们作为Kubernetes job运行。
第一个问题是准备一个容器来执行kubectl。
由于您正在使用Tekton,因此请查看"部署任务"。从Tekton Hub,它配置了一个包含kubectl
的映像。