sh 更新Kubernetes部署映像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 更新Kubernetes部署映像相关的知识,希望对你有一定的参考价值。
#!/bin/bash
#
# Update docker image tag in a kubernetes deployment
# Kubernetes cluster address
K8S_CLUSTER="change.me"
# Kubernetes cluster certificate path
K8S_CERTIFICATE="/change/me"
# Kubernetes cluster token
K8S_USER="CHANGEME"
# Kubernetes cluster Token
K8S_TOKEN="CHANGEME"
# Docker registry server and credentials
REGISTRY_SERVER="https://change.me:5000"
REGISTRY_USER="CHANGEME"
REGISTRY_PASSWORD="CHANGEME"
# Kubernetes deployment
APP=$1
# Docker image tag
VERSION=$2
echo "\n-- Check if image exists in docker registry"
curl --head --fail --silent --show-error --insecure --basic --user ${REGISTRY_USER}:${REGISTRY_PASSWORD} \
https://${REGISTRY_SERVER}/v2/${APP}/manifests/${VERSION}
if [ ! -x ./kubectl ]; then
echo "\n-- Download kubernetes client"
wget --quiet --output-document=./kubectl https://storage.googleapis.com/kubernetes-release/release/v1.6.3/bin/linux/amd64/kubectl
chmod +x ./kubectl
fi
echo "\n-- Check if kubernetes client is configured"
./kubectl config get-contexts ${K8S_USER}
if [ $? -ne 0 ]; then
echo "\n-- Configure kubernetes client"
./kubectl config set-cluster ${K8S_CLUSTER} \
--embed-certs=true \
--server=https://api.${K8S_CLUSTER} \
--certificate-authority=${K8S_CERTIFICATE}
./kubectl config set-credentials ${K8S_USER} --token=${K8S_TOKEN}
./kubectl config set-context ${K8S_USER} \
--cluster=${K8S_CLUSTER} \
--user=${K8S_USER}
./kubectl config use-context ${K8S_USER}
fi
echo "\n-- Update deployment image"
./kubectl set image deployment/${APP}-deployment *=${REGISTRY_SERVER}/${APP}:${VERSION}
以上是关于sh 更新Kubernetes部署映像的主要内容,如果未能解决你的问题,请参考以下文章
kubernetes:无法使用具有 RW 访问权限的持久卷部署 jenkins 映像
Kubernetes 设置图像缺少资源类型“部署”
sh 在Ubuntu上部署Kubernetes
如何配置 kubernetes 从托管在同一集群/内部的注册表中提取容器映像
为已部署的 Kubernetes 服务获取 YAML?
pod 没有在 kubernetes 中创建,但存在部署?