Jenkins部署到K8集群 [英] Jenkins deployment to K8 cluster
问题描述
我正在尝试第一次将docker映像部署到kubernetes集群中,我有两个节点,主节点和工作节点都处于运行状态.
I'm trying to deploy my docker image into kubernetes cluster in first time, i have two nodes master and worker nodes both are up and running status.
在jenkins构建过程中,我已经创建了namesapace预发布环境来部署我的更改,而我遇到了错误.
I have created namesapace pre-release environment to deploy my changes on it, during jenkins build, i am getting below error.
+ kubectl '--kubeconfig=****' '--context=K8sCluster-CC-pre-release' apply -f ./environment/pre-release '-n=pre-release'
error: context "K8sCluster-CC-pre-release" does not exist
詹金斯阶段
stage('deployment') {
container('kubectl') {
withCredentials([kubeconfigFile(credentialsId: 'KUBERNETES_CLUSTER_CONFIG', variable: 'KUBECONFIG')]) {
def kubectl
if(gitBranch == "future-master-fix") {
kubectl = "kubectl --kubeconfig=${KUBECONFIG} --context=K8sCluster-CC-pre-release"
sh "${kubectl} apply -f ./environment/pre-release -n=pre-release"
}
}
}
}
kubectl config set-context K8sCluster-CC-pre-release --namespace=K8sCluster-CC-pre-release --user=kubernetes-admin --cluster=kubernetes
Context "K8sCluster-CC-pre-release" created.
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* K8sCluster-CC-pre-release kubernetes kubernetes-admin K8sCluster-CC-pre-release
您能请人帮我吗?
推荐答案
原因是kubeconfig文件中不存在K8sCluster-CC-pre-release
上下文.您可以运行kubectl config view -o jsonpath='{.current-context}'
来检查当前上下文并使用该上下文.
The reason is K8sCluster-CC-pre-release
context does not exist in your kubeconfig file. You can run kubectl config view -o jsonpath='{.current-context}'
to check current context and use that context.
这篇关于Jenkins部署到K8集群的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!