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

如何在OpenStack平台部署DC/OS?请求提供详细分步部署指南

如何在OpenStack上部署DC/OS?

我来给你详细拆解在OpenStack上部署DC/OS的每一步,亲测可行,跟着走就行~

一、先搞定前置准备

在动手之前,得确保你有这些东西:

  • 可用的OpenStack环境:至少得有Keystone(认证)、Nova(计算)、Neutron(网络)、Cinder(存储)这些核心组件正常运行。建议准备至少3台节点:1个Master节点,2个Private Agent节点(用来跑任务),如果需要对外暴露服务可以再加1个Public Agent节点。每个节点配置至少4核CPU、8G内存、40G存储,并且所有节点能访问外网(用来拉取DC/OS的安装包和镜像)。
  • 本地机器配置:装好python-openstackclient(用来操作OpenStack)和terraform(DC/OS官方推荐的自动化部署工具),版本尽量用最新稳定版。
  • DC/OS License(可选):如果用Enterprise版需要准备,开源社区版不需要。

二、配置OpenStack认证信息

首先在本地终端里设置OpenStack的环境变量,这样Terraform和OpenStack客户端才能正常连接你的环境:

export OS_AUTH_URL=https://你的OpenStack认证地址:5000/v3
export OS_PROJECT_ID=你的项目ID
export OS_PROJECT_NAME="你的项目名称"
export OS_USER_DOMAIN_NAME="Default"
export OS_USERNAME="你的用户名"
export OS_PASSWORD="你的密码"
export OS_REGION_NAME="你的区域名称"
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3

设置完后,跑个命令验证一下:

openstack server list

如果能列出你OpenStack里的实例,说明认证没问题。

三、准备Terraform配置文件

DC/OS官方提供了Terraform的OpenStack模块,我们直接基于它来写配置:

  1. 先创建一个部署目录,比如dcos-openstack-deploy,然后在里面创建main.tf文件,内容如下:
module "dcos" {
  source  = "dcos-terraform/dcos/openstack"
  version = "0.1.0" # 建议用最新的稳定版本,可去Terraform Registry查

  cluster_name        = "my-dcos-cluster" # 自定义你的集群名称
  ssh_public_key_file = "~/.ssh/id_rsa.pub" # 本地的SSH公钥路径,用来登录节点
  admin_ips           = ["你的本地IP/32"] # 允许这个IP访问DC/OS的UI和API

  # 节点数量配置
  num_masters        = 1
  num_private_agents = 2
  num_public_agents  = 1

  # OpenStack相关配置
  openstack_auth_url     = var.openstack_auth_url
  openstack_project_id   = var.openstack_project_id
  openstack_username     = var.openstack_username
  openstack_password     = var.openstack_password
  openstack_region       = var.openstack_region
  openstack_flavor_master = "m1.large" # 对应你OpenStack里的实例规格
  openstack_flavor_agent  = "m1.medium"
  openstack_image_name    = "ubuntu-20.04-server-cloudimg-amd64" # 确保这个镜像在你的OpenStack中存在,CentOS7也兼容
  openstack_external_network = "public" # 你的OpenStack外部网络名称
}

# 部署完成后输出关键信息
output "dcos_ui_url" {
  value = module.dcos.dcos_ui_url
}

output "master_ips" {
  value = module.dcos.master_ips
}
  1. 接着创建variables.tf文件,定义需要的变量:
variable "openstack_auth_url" {
  type = string
  description = "OpenStack认证地址"
}
variable "openstack_project_id" {
  type = string
  description = "OpenStack项目ID"
}
variable "openstack_username" {
  type = string
  description = "OpenStack用户名"
}
variable "openstack_password" {
  type = string
  description = "OpenStack密码"
}
variable "openstack_region" {
  type = string
  description = "OpenStack区域"
}
  1. 最后创建terraform.tfvars文件,填入你的实际配置值:
openstack_auth_url = "https://你的认证地址:5000/v3"
openstack_project_id = "你的项目ID"
openstack_username = "你的用户名"
openstack_password = "你的密码"
openstack_region = "你的区域"

四、开始部署DC/OS集群

配置都弄好后,就可以启动部署了:

  1. 初始化Terraform,下载需要的模块和依赖:
terraform init

这一步会自动下载DC/OS的Terraform模块,耐心等它完成。

  1. 先预览部署计划,检查资源配置是否符合预期:
terraform plan

仔细看输出里的实例数量、网络、存储等信息,确认没问题再继续。

  1. 正式开始部署:
terraform apply

终端会提示你确认,输入yes回车就开始部署了,整个过程大概10-15分钟,取决于你的OpenStack环境性能。

部署完成后,Terraform会输出DC/OS UI的访问地址和Master节点的IP,比如http://192.168.1.100/。

五、验证集群是否正常运行

部署完别急着用,先验证一下:

  1. 访问DC/OS UI:用浏览器打开输出的UI地址,第一次登录用默认用户名admin,密码可以通过SSH登录Master节点查看:
# 如果是Ubuntu镜像,登录用户是ubuntu;如果是CoreOS,用户是core
ssh ubuntu@你的Master节点IP cat /var/lib/dcos/dcos-oauth/auth-token-secret

把输出的字符串作为密码输入,就能进入UI了,查看左侧的Nodes页面,所有节点都应该显示Healthy状态。

  1. 用DC/OS CLI验证:先安装DC/OS CLI,然后执行以下命令:
# 绑定集群
dcos cluster setup 你的Master节点IP
# 列出所有节点
dcos node list

如果能正常列出所有Master、Agent节点,说明集群运行正常。

六、常见问题排查

  • 如果部署失败,先看Terraform的错误日志,或者登录节点查看/var/log/dcos/目录下的安装日志,定位问题。
  • 如果节点无法联网,检查OpenStack的安全组是否开放了必要端口:80/443(UI和API)、22(SSH)、61001(节点间通信)、5050(Mesos)等。
  • 如果提示镜像找不到,确认你在Terraform配置里填的镜像名称在OpenStack的glance image list里存在,或者换一个兼容的Linux镜像(比如CentOS 7、Ubuntu 18.04都可以)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:07:20