You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无互联网出口AWS环境下用kops部署Kubernetes集群

在无互联网访问的AWS环境中使用kops部署Kubernetes集群

我在完全隔离的AWS环境下成功用kops部署过Kubernetes集群,核心难点就是替换kops默认依赖的互联网资源,尤其是nodeup和kubelet这类关键二进制文件。下面是经过验证的实操步骤:


1. 提前准备离线核心资源

首先要把kops依赖的核心二进制文件下载到本地,再上传到你AWS环境内可访问的私有S3桶(内网S3无需互联网)。你提到的关键资源如下:

  • 125993c220d1a9b5b60ad20a867a0e7cda63e64c:Kubernetes v1.8.4版本的kubelet(linux/amd64架构)
  • 8e2314db816b9b4465c5f713c1152cb0603d...:kops的nodeup二进制文件(请补充完整哈希值)

上传时确保kops使用的IAM角色拥有该S3桶的s3:GetObject权限,避免后续节点拉取资源失败。

2. 配置kube_env.yaml文件

kops通过这个配置文件指定离线资源的路径和校验哈希,替换默认的互联网下载地址。创建或修改该文件,示例内容如下:

# 指定离线kubelet资源
kubelet:
  url: s3://your-offline-k8s-resources/kubelet-v1.8.4-amd64
  hash: 125993c220d1a9b5b60ad20a867a0e7cda63e64c
# 指定离线nodeup资源
nodeup:
  url: s3://your-offline-k8s-resources/nodeup
  hash: 8e2314db816b9b4465c5f713c1152cb0603d...

提示:如果还有kubectl、kube-proxy等其他组件需要离线部署,同样在该文件中添加对应组件的url和hash字段即可。

3. 执行kops集群创建命令

在运行kops创建集群时,通过--kube-env参数指向刚才的配置文件,同时指定其他集群参数(如节点数量、可用区等)。示例命令:

kops create cluster \
  --name your-cluster.internal \
  --state s3://your-kops-state-store \
  --kube-env ./kube_env.yaml \
  --master-count 3 \
  --node-count 6 \
  --zones us-east-1a,us-east-1b,us-east-1c \
  --networking weave \
  --yes

4. 验证集群部署状态

集群创建完成后,用kops验证节点和组件状态:

kops validate cluster --state s3://your-kops-state-store

如果所有节点状态显示为Ready,说明离线资源配置生效,集群部署成功。

内容的提问来源于stack exchange,提问作者bhargavpss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:10:14