Я пытаюсь создать конвейер, который запускается после коммита в git.Я установил миникуб с помощью драйвера kvm2.Однако я не уверен, что все настроено так, как должно.Jenkins был установлен ранее, и он не работает на kubernetes.
Ниже мой Дженкинсфайл.
pipeline {
environment {
....
}
agent any
stages {
stage ('Clone') {
....
}
stage('Build') {
....
}
stage(‘Containerize’) {
.... build images with docker
}
stage('Deploy Image') {
.... push images on Docker hub
}
stage('Deploy Application') {
steps {
// Create namespace if it doesn't exist
sh("kubectl get ns development || kubectl create ns development")
....
}
}
}
}
Я также настроил Kubernetes как Облако.Я добавил URL-адрес kubernetes, который показан в ./kube/config
сертификате сервера kubernetes, в качестве содержимого /.minikube/ca.crt
учетных данных, созданных с помощью
sudo openssl pkcs12 -export -out kubernetes.pfx -inkey apiserver.key -in apiserver.crt -certfile ca.crt -passout pass:jenkins
Проблема, с которой я столкнулся, заключается в следующем:
[Pipeline] { (Deploy Application)
[Pipeline] sh
+ kubectl get ns development
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Это связано с RBAC?Я пытался использовать секретный токен, используя kubectl create serviceaccount jenkins
, и копировать токен, но когда я проверял соединение, оно не работало.
Я не уверен, что это правильный способ развертывания в Kubernetes с использованиемтрубопровод.Пожалуйста, предложите, если есть лучший способ развернуть мои микросервисы.