千家信息网

使用Rancher怎么在OpenStack中创建K8S集群

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,使用Rancher怎么在OpenStack中创建K8S集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Kubernet
千家信息网最后更新 2025年12月03日使用Rancher怎么在OpenStack中创建K8S集群

使用Rancher怎么在OpenStack中创建K8S集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Kubernetes本身与OpenStack集成已经一段时间了,并且已经建立了良好的基础。它由两个组件组成:OpenStack云提供程序以及OpenStack节点驱动程序。在Rancher中,默认可以获取云提供程序,同时Rancher中也有节点驱动程序,但是这不是默认提供的。

在OpenStack上构建一个Rancher Kubernetes集群有两种方式:使用OpenStack节点驱动程序或通过自定义节点设置(https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/)。

为了便于访问,本文中的所有配置示例你都可以在Github上获取:

https://github.com/chfrank-cgn/Rancher/tree/master/openstack

启动OpenStack云提供程序

要允许Kubernetes访问OpenStack API,以创建load balancer或volume,需要启用OpenStack云提供程序。为此,请在Rancher GUI中为云提供程序创建集群时选择"自定义"选项,然后将以下信息插入集群配置(通过"编辑YAML")--你可以根据需要替换实际值:

rancher_kubernetes_engine_config:...  cloud_provider:    name: "openstack"    openstackCloudProvider:       block_storage:         ignore-volume-az: true        trust-device-path: false        bs-version: "v2"      global:         auth-url: "https://api.openstack.net:5000/v3" # Keystone Auth URL        domain-name: "Default" # Identity v3 Domain Name        tenant-id: "616a8b01b5f94f99acd00a844f8f46c3" # Project ID        username: "user" # OpenStack Username        password: "pass" # OpenStack Password      load_balancer:        lb-version: "v2"        subnet-id: "f339e543-a67f-45fa-8157-4a58b0940e0b"        floating-network-id: "ca27ca05-2870-47b3-ad2f-535d04c9e736"        create-monitor: false        manage-security-groups: true        monitor-max-retries: 0        use-octavia: true      metadata:         request-timeout: 0  ignore_docker_version: false  ...

有了这些信息,Kubernetes将可以访问OpenStack API,创建和删除资源以及访问Cinder volume和Octavia负载均衡器。没有这一配置,Kubernetes集群也能够良好运行,只是无法访问Cinder或者Octavia,或者其他OpenStack资源。

方式1:使用OpenStack节点驱动程序创建集群

需要在Rancher配置中启用节点驱动程序,才能使用内置节点驱动程序在OpenStack上创建Kubernetes集群。然后需要使用以下信息创建一个节点模板(可以根据需要更换实际值):

"authUrl": "https://api.openstack.net:5000/v3","availabilityZone": "Zone1","domainName": "Default","flavorName": "standard.2.1905","floatingipPool": "extern","imageName": "ubuntu-18.04-bionic-amd64","keypairName": "rancher","netName": "intern","sshPort": "22","sshUser": "ubuntu","tenantId": "616a8b01b5f94f99acd00a844f8f46c3","username": "user"

之后,与所有其他云提供商一样,集群创建非常简单。

安全选项

以下防火墙规则需要在Rancher和OpenStack租户之间定义,以启用自动集群设置:

  • 双向ssh、http和https

  • 从Rancher到租户节点的2376(docker)

  • 租户节点之间的2376、2379、2380、6443和10250

方式2:使用自定义节点创建集群

可以在启动脚本的帮助下从单独创建的实例中构建集群,以安装和启用docker(在Ubuntu 18.04 TLS上):

#!/bin/shapt-get updateapt-get -y install apt-transport-https jq software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"apt-get updateapt-get -y install docker-ce=18.06.3~ce~3-0~ubuntuusermod -G docker -a ubuntuexit 0

安全事项

需要为OpenStack租户定义以下防火墙规则,以允许从现有节点创建集群:

  • 来自Workstation的SSH

  • 到Rancher的http和https

访问Cinder块存储

为了访问Cinder块存储,需要应用以下存储类的定义:

apiVersion: storage.k8s.io/v1kind: StorageClassmetadata:  name: cinderprovisioner: kubernetes.io/cinderreclaimPolicy: Deleteparameters:  availability: nova

无需进一步操作即可启用OpenStack负载均衡器。

故障排查

初始设置过程中会出现一些报错,需要不断试错。而Rancher本身就是一个很好的debug信息来源,它的日志以标准文件形式输出,抓住这一线索将对调试有很大帮助,尤其是在创建节点的过程中。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

集群 节点 程序 驱动程序 驱动 信息 租户 帮助 配置 方式 存储 良好 均衡 安全 之间 实际 规则 资源 过程 防火墙 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国产数据库数据脱敏解决方案 锐杰 网络技术 待遇 保存数据库损坏游戏进度保存失败 命令行了解oracle数据库 数据库合并结果集 网络安全与执法属于什么专业 影牙要塞服务器 网络安全中常用 网络安全影响社会安全例子 服务佳的域控制器软件开发 网络安全产品视频展示 软件开发具体指哪些行业 数据库2张表对照 郑州晟智网络技术有限公司 外文期刊数据库检索官网 数据库都有哪些检索功能 网网络安全的手抄报模式 数据库同步软件免费最新版 软件开发需要学什么呢 行业数据库主要有哪些 中国工商行软件开发基地珠海 微软平台软件开发成本 网络安全威胁观后感 数据库网页设计主题 文明重启有没有不抄家的服务器 滨湖区软件开发商店 隐雪互联网科技有限公司 lol登录错误登陆服务器未响应 工商珠海软件开发公司 工业通信与网络技术教材
0