云计算技术 实验二 安装 k8s 系统并熟悉 k8s 命令
安装 k8s 系统并熟悉 k8s 命令
环境为windows11 。注意,本次实验建议开梯子。
由于实验可以在网页上进行,因此可以不用自己安装k8s进行实验。
网址:https://kubernetes.io/zh-cn/docs/tutorials/kubernetes-basics/
1.实验学时 :4 学时
2.实验目的:
(一)熟悉 K8S 系统的安装 (二)掌握 K8S 系统的基本命令 (三)掌握 K8S 的容器编排
3.实验内容:
(1)创建集群
首先查看对应版本:minikube version
开启集群:
查看是否安装 kubectl:
查看集群信息:
查看集群中的节点:
(2)部署应用
查看 kubect 是否配置为集群对话
查看集群中的节点:
使用 lubectl create deployment 部署应用程序:
列出节点对应的合适的部署
打开新的窗口运行代理。注意,代理运行完成之后,切换为之前的窗口输入后面的代码。
查看 API 版本
API 服务器会根据 pod 名称创建端点。 获取 pod 名称并将其存储在环境变量 Pod_name 中:
之后运行 API 访问 Pod
(三) 了解应用
查看是否有 pod 在运行:
查看 pod 容器以及 pod 中的 image,查看对应容器相应信息。
之后在终端显示对应的程序信息,首先将实验二中开启的代理关闭
然后在新的窗口再次开启代理
之后将再次获得的 pod 名称直接通过代理查询 pod,然后存储到 pod name 环 境变量中。
之后查看应用程序的输出,查看对应的 API 路径
之后查看容器日志
在容器上执行命令,列出环境变量:
在 pod 容器中启动一个 bash 对话:
查看.js 文件
程序是否启动
这里使用了 localhost,执行了命令。
(四) 公开暴露应用
先退出容器:
查找现有的 pod
列出集群当前的服务:
创建一个新的服务暴露给外部流量:
运行 get services 命令
了解外部 IP 打开了那个端口:
创建一个名为 NODE_PORT 的环境变量,该环境变量指定了节点端口的值
群外部:
查看 deployment 为 pod 创建的标签名称
查询 pod 列表,使用 kubectl get pods 命令和-l 作为参数,后跟标签 值
列出现有的服务:
获取 Pod 的名称并将其存储在 Pod_name 环境变量中
应用标签,使用 label 命令,version 改成学号
使用 describe pod 命令检查
查询 pod 列表:
删除服务:
确认服务停止:
Curl 暴露先前的 IP 端口,证明应用程序不再能够从集群外部访问。
在 pod 中进行 curl:
程序启动了,这是因为部署正在管理应用程序。要关闭应用程序,还需 要删除 Deployment。
(五) 缩放应用
拓展部署:
查看 Deployment 创建的 ReplicaSet
拓展到 4 个副本:
再次列出部署:
检查 pod 数量是否更改
现在有 4 个 Pod,具有不同的 IP 地址。更改已在部署事件日志中注册。 检查,使用 description 命令。
步骤二:检查负载平衡,找出暴露的 IP 和端口
创建一个名为 NODE_PORT 的环境变量,该变量的值为节点端口
创建环境变量完成之后,需要对暴露的 IP 和端口进行 crul
步骤三:缩小 需要将服务缩小到 2 个副本,
缩小成功 然后检查是否使用 get Deployments 更改
由于副本数量减少,列出 pod 的数量,使用命令查看 pod 信息
(六) 更新应用
首先运行命令查看当前部署:
之后列出运行的 pods
之后查看当前的 image 版本,运行命令查看 image 字段
之后将应用的映像更新为版本 2
使用 getpods 命令查看旧 pod 终止:
终止成功。
步骤二,验证更新 检查应用是否运行,查找暴露的 IP 和端口:
创建名为 NODE_PORT 的环境变量,指定节点端口的值
之后使用 crul 暴露 IP 以及端口:
每次运行 curl 命令时,需要使用最新版本的 pod,需要使用 rollout 状态命 令确定更新。
查看当前的 image 版本
步骤 3,回滚更新: 执行其它更新,部署带有 v10 的映像
之后查看映像部署状态:
列出所有的 pod
了解对应的 pod 状态
回滚回上一个工作版本,使用 rollout 撤销命令
这样会使得 pod 版本回退到上一个版本 之后再次使用命令列出 pod
检查对应的 pod 映像
发现再次回滚版本成功
更多推荐
所有评论(0)