【ORACLE云】通过 OCI OKE &;&; OCIR 构建签名镜像 - 保证 CI CD 镜像一致性_oci镜像构建
# 设置 OCI 认证信息
set +x
export TF_VAR_tenancy_ocid="您的 OCID 值"
export TF_VAR_user_ocid="您的 OCID 值"
export TF_VAR_fingerprint="您的指纹值"
export TF_VAR_private_key_path="您的 API 密钥的路径"
export TF_VAR_compartment_ocid="您的组织 OCID 值"
export TF_VAR_kms_key_ocid="您的 KMS 密钥 OCID 值"
export TF_VAR_region="us-phoenix-1"
# 初始化 Terraform 环境
terraform init
# 运行 Terraform 应用计划
terraform plan
# 应用 Terraform 配置,创建 Kubernetes 集群和容器镜像仓库
terraform apply
# 登录 OCI 容器镜像仓库
oci setup repo --region us-phoenix-1
# 登录 OKE 集群
./kubeconfig.sh
# 创建 Docker 守护进程配置文件
cat > /tmp/docker.json <<EOF
{
"insecure-registries" : ["your-container-repo-url"]
}
EOF
# 应用 Docker 配置
docker daemon --config-json $(cat /tmp/docker.json | jq -R 'fromjson')
# 登录 OCIR
docker login -u 'your-user-id' -p 'your-auth-token' your-container-repo-url
# 构建并推送 Docker 镜像
docker build -t your-container-repo-url/your-namespace/your-repo:your-tag .
docker push your-container-repo-url/your-namespace/your-repo:your-tag
这个脚本展示了如何使用Terraform和OCI CLI来创建OKE集群和OCIR仓库,并且如何在CI/CD管道中签名和推送Docker镜像。注意,这个脚本假设你已经配置了OCI CLI,Terraform,以及Docker。
评论已关闭