阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

评论

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

MVP验证方向,差异化策略超越竞争

石云升

MVP 9月日更

架构实战营模块7课后作业

燕燕 yen yen

架构实战营

【LeetCode】数据流中的中位数Java题解

Albert

算法 LeetCode 9月日更

关于比特币和区块链的3件重要事项

CECBC

金融科技成为服贸会热议话题:数字化转型中如何保障金融安全

CECBC

linux之ssh-keygen命令

入门小站

Linux

Promise.race() 原理解析及使用指南

devpoint

异步 Promise 9月日更

渗透测试入门指南之小白该如何学习渗透?

网络安全学海

黑客 网络安全 信息安全 WEB安全 渗透测试·

Mybatis的工作流程及原理

咿呀呀

mybatis 9月日更

从分子层面雕刻肌肉,新数学模型预测锻炼肌肉最优方式

脑极体

架构实战营 - 模块七作业

Julian Chu

架构实战营

冒死上传!阿里内部最新版“SpringCloud Alibaba手册”细节拉满

Java 编程 架构 面试 架构师

【LeetCode】分割平衡字符串Java题解

Albert

算法 LeetCode 9月日更

两种定时任务调度器对比

xyu

定时任务 Go 语言

连续两年的云上服贸会,一部会展行业的数智化启示录

脑极体

百度清风算法再次升级:必须严打低质下载站

石头IT视角

从电视购物到电商直播,什么造就了「带货的参差」

融云 RongCloud

自动交Y机器人开发|市值机器人源码搭建

量化系统19942438797

Java从建表语句中提取索引信息, 索引名称,复合索引包含字段,索引类别(普通索引/主键索引/唯一索引/全文索引/空间索引)解决方案

张音乐

数据库 索引 9月日更

架构实战营 模块七 作业

一雄

作业 架构实战营 模块七

小游戏 合成

游戏开发_软件开发

高并发系统SoEasy!Alibaba全新出品亿级并发设计速成笔记真香

Java 编程 架构 面试 架构师

太棒了!终于有大佬把“消息队列”核心知识点全都总结出来了

Java 编程 架构 面试 架构师

在线JSON转BigQuery工具

入门小站

压箱底宝藏!程序员必不可少的8款办公利器

Jackpop

初恋永远想不到的性能架构(朋友圈)

人工智能~~~

用友YonSuite在基于六力模型的SaaS产品中位居业界前列

海比研究院

卖NFT表情包赚上百万,区块链技术终于找到了真正价值?

CECBC

2021年最受欢迎的10款开源DevOps工具

Jackpop

架构实战营模块七作业-游戏商城异地多活

王晓宇

架构实战营

模块七作业

秀聪

架构实战营

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