Day 25 阿里云上运行Kubernetes 1 - ACK

在开始前先补充分享Kubernetes服务小知识

Pod:
Pod是Kubernetes的基本运行单位及载体,整个 Kubernetes 集群以Pod为中心,包括Pod的建立、维护和访问,一个>Pod可以包含一个或多个相关联的容器,而每个Pod都是彼此独立,不会干涉到其他的Pod

Service:
Service也是Kubernetes的一个核心资源对象,Service定义了一个服务的访问地址,而该地址允许前端应用程序访问>>由该pod的副本组成的後端集群实例,并藉由标签选择器(Label Selector),Service能无缝地与pod副本互通

Node:
Kubernetes将集群中的机器分为master node和worker nodes,这些节点可以是实体机或虚拟机

master node:
运行一系列集群管理流程,包括kube-apiserver、kube-controller-manage、kube-scheduler等主要流程,这些流程负责整个集群的资源管理、pod调度、自动延展、安全和主系统控制

worker node:
运行应用程序的节点,主要都在这上面去运行

容器服务Kubernetes版(Container Service for Kubernetes,ACK)

是在阿里云上的k8s服务,有分为三个版本,是针对你Master节点以及Worker节点,还有完全的Serverless服务

https://ithelp.ithome.com.tw/upload/images/20211007/20140353h7Arq78BLW.png

  • 专有版:
    需要创建Master节点以及Worker节点来配置,就像是在地端或是其他云端使用一样,都是自行创建搭建,可以针对这些节点更加细微的操作

  • 托管版:
    Master节点由ACK服务创建托管,我们只需要创建Worker节点即可,基本上与专有版没有太大差异,主要还是少了自行创建Master节点,比较推荐刚接触Kubernetes的使用者使

  • Serverless版:
    随开随用,不需要创建与管理任何节点,直接使用服务,可以用於突发任务或是CI/CD测试


实作1-建立ACK集群

这边要操作阿里云ACK并建立一个nginx

  • 建立ACK集群
  • 连线集群控制
  • 建立nginx
  • 资源释放
  1. 左上导览来到ACK,点选集群,然後创建集群
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353elf4p2UDp1.png

  2. 选择ACK托管版,K8s选择1.20.4,容器运行选择docker,选择地域等配置,然後点选下一步
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353OGpy16oLSQ.png

  3. 接下来我们配置worker节点,选择新增实例,服务器选择适当的规格,节点数量3个,然後下面操作系统选择centos,使用密码登入,点选下一步
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353aljD6eSwdS.png
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353Ao7yQgYa2k.png

  4. 这些组建配置留预设就行,点选下一步确认
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353GFPIvSggNR.png

  5. 确认一下配置,然後是下面的依赖检查,如果有没通过的状态,可能是RAM访问控制那边没有权限,上面也能直接点击赋予,最後勾选同意创建
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353XDLx6rdbfV.png
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353Fh9IHTEd2w.png

  6. 点选完之後这边可以看到创建的状态
    https://ithelp.ithome.com.tw/upload/images/20211007/201403539tzaxDqLej.png

  7. 创建完成,返回集群列表
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353zkWBZkm1pD.png

  8. 左上导览来到ECS,这边已经可以看到创建的worker节点,这里再建一台服务器(参照Day7)做为操作控制终端
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353ytPN7zoC0u.png

  9. 创建完成之後我们登入这台刚创建好的服务器
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353O47Uj7Bl7M.png

  10. 安装kubectl,按照kubernetes官方给的指令去安装即可,这边提供安装指令
    下载

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

安装

install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

查看版本

kubectl version --client

https://ithelp.ithome.com.tw/upload/images/20211007/20140353IyTaZy0U7B.png

  1. 再来需要验证才能找到我们的集群,创建一个 “.kube”的目录
    创建“.kube”目录
mkdir -p .kube

https://ithelp.ithome.com.tw/upload/images/20211007/20140353UKD023J7e3.png

  1. 回到阿里的ACK服务,点进集群里面
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353DINvzkDazM.png

  2. 点击连线信息,把下面那段集群凭证给复制起来
    https://ithelp.ithome.com.tw/upload/images/20211007/201403536BLfWujdXO.png

  3. 再回到我们的虚拟机,再.kube里面创建config,然後再把刚刚那段贴上後,保存退出
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353tCJWFMqUtZ.png
    https://ithelp.ithome.com.tw/upload/images/20211007/20140353NLYNm6WNLJ.png

15.完成之後我们下指令,就可以看到创建的集群罗
查看node节点

kubectl get node

https://ithelp.ithome.com.tw/upload/images/20211007/20140353n2Mts6JY0M.png

今天的阿里云ACK就到这边罗,我们创建了ACK集群,也快速了创建一台服务器管理集群,剩下建立nginx的部分我们将在下一篇继续接着


<<:  [day25] 建立订单 & 付款处理

>>:  {DAY 25} Matplotlib 基础操作

Flutter基础介绍与实作-Day12 Nice to Meet you Widgets-范例实作

前面讲了那麽多关於Basic Widget今天我们就用其中一个来写个小范例吧! 我们用BottomN...

【Day30】最後一天的回顾笔记:我们没做到,但也做到了!

仔细回想一下,大概是在许多年前,就曾陆续看过 iT 邦帮忙相关广告或分享。但从没想过,这个品牌有一天...

DAY 26- 分叉 Fork

「———≡」 分叉 网路上的传播是有时间误差的,也就是说如果今天 A 矿工成功挖到矿,并把挖到的区块...

DAY24 - 利用 uptime 让你的 Heroku 永不休眠

上一篇成功将 Nestjs 部属到 heroku 上面,不过我们使用的是免费方案,免费方案有几个限制...

[NestJS 带你飞!] DAY17 - Injection Scopes

Nest 在大多数情况下是采用 单例模式 (Singleton pattern) 来维护各个实例,也...