写点什么

手把手教你从零开始搭建阿里云 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:164431

评论

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

人工智能快速发展趋势下,中国该如何应对?

GPU算力

好用的3D建筑设计软件:Vectorworks 2023激活版

真大的脸盆

Mac Mac 软件 3D建筑设计软件 建筑设计

基于ByteHouse构建实时数仓实践

字节跳动数据平台

数据库 云原生 Clickhouse 企业号 3 月 PK 榜

Github霸榜!由阿里出品的最新java面试极速突击核心讲

Java编程日记

Java 架构 面试 java程序员 java面试

解决方案| anyRTC融合腾讯会议

anyRTC开发者

音视频 视频会议 视频通话 融合会议 腾讯会议

直播预告|一站式MLOps meetup,洞见行业前沿!聆听第四范式、AWS、腾讯、百度的MLOps落地、演进、实践经验

星策开源社区

百度 腾讯 AWS 第四范式 MLOps

牛皮!仅凭“阿里爸爸”大厂面试参考笔记,去携程Java三面,已OC

Java面试那些事儿

Java 编程 架构 面试 java面试

远程控制电脑软件哪个好?

RayLink远程工具

远程控制软件 远控软件 远程桌面连接

云原生月报丨值得开发者关注的最新动态

阿里巴巴中间件

阿里云 云原生 月报

国内首家!云科通明湖应用交付控制器通过金融信创生态实验室适配验证

通明湖

PyTorch 深度学习实战 | Fashion MNIST图片重建实战

TiAmo

深度学习 MNIST

玻璃幕墙LED显示屏原理及应用领域指南

Dylan

安装 结构 LED显示屏 屏幕

2023年市场快速恢复,社交资讯营销如何把握新机遇

易观分析

社交 资讯

软件测试/测试开发丨app自动化测试之Capability 使用进阶

测试人

软件测试 自动化测试 测试开发 appium capability

如何用秒验提升用户体验和转换率?

MobTech袤博科技

Airwallex 基于 Flink 打造实时风控系统

Apache Flink

大数据 flink 实时计算

Open-GeoIP:超简单的开源IP地址位置查询服务

冯骐

golang 开源 网络 ip地理定位 geoip

IDEA使用宏实现保存即编译

源字节1号

软件开发 开源治理 小程序开发

Milvus 2.3 Massively Accelerates AI-Powered Applications With NVIDIA GPU Support

Zilliz

gpu nvidia 非结构化数据 Milvus 向量数据库

内网升级“高效安全”利器!统信软件发布私有化更新管理平台

统信软件

安全 操作系统

奇怪的翻译

五月的风

翻译软件 ChatGPT

IM开发者的零基础通信技术入门(十一):为什么WiFi信号差?一文即懂!

JackJiang

即时通信 即时通讯IM

虚拟机专用Win10/win11系统镜像下载(m1/intel合集)

真大的脸盆

Mac win10 Mac 软件 win11 win镜像文件

2023 年开源现状报告确认安全是首要问题

开源雨林

统计学 开源软件 开源现状

软件测试/测试开发丨app自动化测试之模拟器控制

测试人

软件测试 自动化测试 Android Studio 测试开发 appium

MobPush Android SDK API

MobTech袤博科技

软件测试/测试开发丨智能遍历测试在回归测试与健壮性测试的应用

测试人

软件测试 自动化测试 测试开发 自动遍历

众筹互助模式DApp开发智能合约系统搭建

薇電13242772558

智能合约

数字孪生智慧停车场三维可视化管理云平台

2D3D前端可视化开发

智慧停车场 停车场三维可视化 数字孪生智慧停车 无人值守停车场 停车场物联网系统

手把手教小伙伴们使用 Nginx 部署 TienChin 项目!

江南一点雨

Java nginx Vue 前后端分离 springboot

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