В настоящее время я пытаюсь реализовать конвейер CI / CD с использованием Docker, Kubernetes и Jenkins. Когда я создавал YAML-файл развертывания Kubernetes для конвейера, у меня не было отметки времени. Только я использовал imagePullPolicy как latest
в файле YAML. Что касается последней версии, у меня уже было одно обсуждение здесь. Ниже приведена ссылка для этого обсуждения,
Изображение Docker не получает последние данные из реестра dockerhub.com
После этогоВ обсуждении я включил отметку времени в YAML своего развертывания, как показано ниже:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-kube-deployment
labels:
app: test-kube-deployment
spec:
replicas: 3
selector:
matchLabels:
app: test-kube-deployment
template:
metadata:
labels:
app: test-kube-deployment
annotations:
date: "+%H:%M:%S %d/%m/%y"
spec:
imagePullSecrets:
- name: "regcred"
containers:
- name: test-kube-deployment-container
image: spacestudymilletech010/spacestudykubernetes:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 8085
protocol: TCP
Здесь я изменил свой сценарий, добавив отметку времени, добавив в шаблон следующее:
annotations:
date: "+%H:%M:%S %d/%m/%y"
Мой служебный файл, подобный следующему,
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
ports:
- port: 8085
targetPort: 8085
protocol: TCP
name: http
selector:
app: test-kube-deployment
Мой jenkinsfile содержит следующее:
stage ('imagebuild')
{
steps
{
sh 'docker build -f /var/lib/jenkins/workspace/jpipeline/pipeline/Dockerfile -t spacestudymilletech010/spacestudykubernetes:latest /var/lib/jenkins/workspace/jpipeline/pipeline'
sh 'docker login --username=<my-username> --password=<my-password>'
sh 'docker push spacestudymilletech010/spacestudykubernetes:latest'
}
}
stage ('Test Deployment')
{
steps
{
sh 'kubectl apply -f deployment/testdeployment.yaml'
sh 'kubectl apply -f deployment/testservice.yaml'
}
}
Но все равно развертывание не извлекает последнюю из реестра dockerhub. Как я могу изменить эти сценарии для решения последней проблемы вытягивания? Может кто-нибудь помочь мне решить эту проблему, пожалуйста? Пожалуйста, поправьте меня, если я пошел в неправильном направлении.
Спасибо.