写点什么

手把手教你从零开始搭建阿里云 ACK 集群和 Rancher 环境

  • 2020-05-16
  • 本文字数:2120 字

    阅读完需:约 7 分钟

手把手教你从零开始搭建阿里云ACK集群和Rancher环境

创建 ACK 集群

  1. 首先从阿里云控制台进入【容器服务】

  2. 点击右上角的【创建 Kubernetes 集群】

  3. 选择【标准托管集群】



  1. 按需求进行配置即可


重要事项!

  1. VPC 网络不要选错,因为一旦选择不可修改,只能重建集群。

  2. 强烈建议勾选【公网访问】。因为如果不勾选,就再也无法从公网访问集群(除非重建集群)。这将导致包括 CloudShell 在内的服务都不可用。

  3. 如果出于安全的考虑,确实不需要公网访问,也建议勾选【公网访问】,之后在自动创建的负载均衡中,停止对公网暴露的监听项,日后有需要还可以随时开启。

  4. 系统推荐选项强烈建议全部勾选,如果此时不勾,以后再开启会非常麻烦。

安装 Rancher

安装 Rancher 可以从以下方式二选一:


  • 新建一台专用于 Rancher 的 ECS 来安装,可参考这篇文章

  • 使用集群刚刚创建的 Worker 节点来安装


然后在要安装 Rancher 的服务器上执行以下脚本:


sudo docker run -d --restart=unless-stopped \-p 9999:443 \-v /var/lib/rancher:/var/lib/rancher \--name rancher-server \rancher/rancher
复制代码


如果你的 Rancher Server 需要从外网访问,则需要对外网暴露 Rancher 服务。


具体操作可以从以下方式二选一:


  • 给所在的 ECS 绑定公网 EIP,同时设置阿里云安全组策略(开放 9999 端口)

  • 使用阿里云 SLB

配置 Rancher

Rancher 可以导入 ACK 集群的前提条件是,集群的 Worker 节点必须可以访问 Rancher Server。不仅可以通过公网访问,也可以通过内网访问 Rancher Server。


达到这一前提条件取决于 Rancher 第一次启动时,你设置的 Rancher Server URL。



请务必确保 Worker 节点到此 URL 的网络是连通的。


该地址与你在网页浏览器中访问 Rancher 的地址,没有必然的关联。Worker 节点将以此处填写的地址连接 Rancher,但你依然使用公网域名/IP 在浏览器中来访问 Rancher。

在 Rancher 中导入 ACK 集群

  1. 进入 Rancher,点击【Add Cluster】

  2. 选择【Import existing cluster】



  1. 然后你将看到如下图的页面,只需将最后一行命令复制,然后在 kubectl 中执行即可。


执行 kubectl

由于创建集群时,勾选了【公网访问】,所以只需要在 CloudShell 中执行就可以。



但是注意,由于刚刚设置的 Rancher Server URL 为内网地址,所以生成的导入命令是这样的:


curl --insecure -sfL https://10.0.148.20:9999/v3/import/8fq8pd9tlbmms5cv84wbvl6xcsdtddr8lhvwxm6f5vmtph56xd52jt.yaml | kubectl apply -f -
复制代码


10.0.148.20 是我的内网地址,CloudShell 无法访问,所以需要将命令中的这个地址改为公网地址。但通过公网地址访问上述 YAML 时,其中的 ServerURL 也会变成公网。(如此 Worker 节点就是通过公网 IP 来连接 Rancher 了)


但我们希望 Worker 节点通过内网 IP 来连接 RancherServer(速度更快且不需要流量),所以需要做以下处理。


1.先将 YAML 下载到 CloudShell 本地:


curl --insecure -sfL https://公网IP:9999/v3/import/8fq8pd9tlbmms5cv84wbvl6xcsdtddr8lhvwxm6f5vmtph56xd52jt.yaml > rancher.yaml
复制代码


2.然后在 CloudShell 中,将文件中的公网 IP 替换为局域网 IP。



3.然后手工导入:


kubectl apply -f rancher.yaml
复制代码



4.回到 Rancher,可以看到刚刚创建的集群,Etcd 和 Nodes 状态已经正常。



但 Controller Manager 和 Scheduler 的状态始终为不正常。经过与阿里云客服确认,由于我们创建的是 ACK 托管版集群,集群的 Master 节点并不可见,所以实际是获取不到 Controller Manager 和 Scheduler 的状态,所以此处实际没有问题,可以忽略。


之后,就可以正常使用 Rancher 了。

创建静态 PVC 和动态 StorageClass

使用阿里云云盘作静态 PVC



NAS 作动态 StorageClass



使用阿里云 OSS 做静态 PVC


使用阿里云集群的优势

在此之前,我们团队一直是使用 ECS 自建集群。在一番评估之后,最终迁移到了阿里云的托管集群,主要考虑到以下几个优势。

与 Pod 网络互通

托管集群,VPC 网络与 Pod 网络是互通的。这意味着,在 ECS 机器里即可 ping 通 Pod IP。如此,只需要在 ECS 主机上,搭建一个 VPN,我们在连入 VPC 网络的同时,也连入了 Pod 网络。这对于开发调试而言,十分方便。此外,还可以使用阿里云的付费 VPN 网关功能,配置更简单。

扩容方便,且支持自动扩缩容

集群的自动伸缩,和容器的 HPA 功能,可以让集群和应用根据实际使用情况,自动进行扩容和缩容。这极大的解放了运维人员,节假日再也不需要为了扩容紧张值班了!

便捷使用云盘、NAS、OSS 作为 StorageClass

可直接使用云盘作为 PVC,这极大方便了 IO 性能敏感的应用(例如 DB)。OSS 则可作为存储成本非常低廉的方式,并且可以极大缩减我们管理 OSS 文件的成本。

自动接入阿里云日志系统

只需要在界面上进行简单地配置,就可以便捷的将容器日志接入阿里云日志系统。方便事后搜索、查看、分析日志,再也不需要担心日志把硬盘内存占满了。


原文


2020-05-16 17:164396

评论

发布
暂无评论
发现更多内容

Leangoo vs ONES:哪个更适合Scrum敏捷开发和SAFe大规模敏捷?

顿顿顿

项目管理 敏捷开发 任务管理 敏捷工具 scrum工具

三分钟掌握音频提取 | 在 Rust 中优雅地处理视频音频

Yeauty

rust ffmpeg Video media audio

昇腾AI携手22家伙伴发布大模型应用一体机,让企业AI落地更简单

极客天地

【Redis深度专题】「踩坑技术提升」一文教会你如何在支持Redis在低版本Jedis情况下兼容Redis的ACL机制

码界西柚

redis 权限控制 acl 底层原理 访问控制列表

征程 6X CAMSYS 性能测试方案介绍

地平线开发者

自动驾驶 算法工具链 地平线征程6

VMware vSphere Replication 9.0.2.2 发布 - 虚拟机复制和数据保护

sysin

vSphere

从青铜到王者系列(1):手把手教你用WSL 2在Windows 11家庭版上安装Docker,开发必备教程!

程序员老王

VMware ESXi 8.0U3d macOS Unlocker & OEM BIOS HPE (慧与) 定制版

sysin

esxi

深入探索ArkUI中的@LocalBuilder装饰器:构建高效可维护的UI组件

李游Leo

HarmonyOS HarmonyOS NEXT

What's new in dubbo-go v3.3.0

apache/dubbo-go

dubbo dubbo-go dubbogo Dubbo3

中昊芯英作为浙江民营经济高质量发展代表企业,接受30余家媒体集体探访

科技热闻

腾讯面经,有点难度~

王中阳Go

Go 腾讯 面经

《Operating System Concepts》阅读笔记:p460-p4470

codists

操作系统

物化视图详解:数据库性能优化的利器

镜舟科技

StarRocks 携程 物化视图 湖仓 Data Cache

从投机到可持续发展:ETHDenver 2025 的关键启示!

One Block Community

去中心化 polkadot web3

创意高清LED显示屏:车展现场互动的强大引擎

Dylan

科技 LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

以太坊兼容智能合约即将登陆 Kusama!Polkadot 迎来智能合约新时代

One Block Community

智能合约 polkadot web3

TCL电子(01070.HK)2024年经调整归母净利润同比翻倍

财见

测试技艺 | 在AI极速发展下重塑

技艺的尾巴

人工智能 AI 软件测试 推动软件业变革 测试技艺

《Operating System Concepts》阅读笔记:p471-p472

codists

操作系统

BOE(京东方)携前沿显示技术亮相ICDT 2025 “绿色+科技”引领产业持续向新

科技热闻

【实战解析】淘宝店铺商品全量爬取:item_search_shop API深度指南

Noah

以联接,育栋梁:解码校园中的星河AI网络

脑极体

AI

黑龙江网络安全等级测评,2025年最新等保规定速查!

黑龙江陆陆信息测评部

深入解析淘宝天猫宝贝详情页面优惠券数据采集接口

代码忍者

淘宝API接口

一键部署 GPU Kind 集群,体验 vLLM 极速推理

Se7en

鸿蒙NEXT开发案例:程序员计算器

zhongcx

51Talk发布2024年Q4财报:第四季度营业收入同比增长117.3%

财见

混沌工程没有银弹

FunTester

项目运维服务质量管理制度,运维过程管理文档

金陵老街

软件运维 运维制度 运维过程管理

企业AI数智化创新峰会在河北石家庄成功举办!

用友智能财务

AI 财务 会计

手把手教你从零开始搭建阿里云ACK集群和Rancher环境_文化 & 方法_Rancher_InfoQ精选文章