某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言

  • 学习建议

  • Docker命令大全
  • Kubernetes教程

    • Kubernetes(K8s)学习教程 - 前言
    • 第1章-Kubernetes集群部署
    • 第2章-便捷性设置以及集群插件的安装
    • 第3章-基础操作
    • 第4章-集群升级
    • 第5章-Pod
    • 第6章-Pod生命周期与资源限制
    • 第7章-Pod与节点
    • 第8章-控制器Deployment
    • 第9章-Deployment镜像变更和滚动更新
    • 第10章-其他控制器-以及标签表达式
    • 第11章-控制器与节点驱逐
    • 暂缓更新
    • 练习题

      • 练习题-1
        • 理论练习(开放性试题)
        • 实操练习
        • 实操练习答案
          • 1. 查看集群的完整信息
          • 2. 查看集群中共有多少台主机
          • 3. 找出命名空间kube-system中,CPU 消耗最高的 pod 是哪一个
          • 4. 创建命名空间ns1,切换至命名空间ns1,删除命名空间ns1
          • 5. 将一个节点设置成维护模式,然后将其从集群中彻底删除
          • 6. 如果忘记了 worker 用于加入集群的命令,该怎么获取一个新的加入命令
          • 7. 命令行工具 kubectl 和 kubeadm 的子命令及其选项,都是不能使用 Tab 键自动补全的。应该如何配置,才能使其支持 Tab 补全?请写出步骤(三步)
      • 练习题-2
      • 练习题-3
      • 练习题-4
      • 练习题-5
      • 练习题-6
      • 练习题-7
      • 练习题-8
    • 常用命令及yaml配置

  • CKS教程

  • 云原生安全
  • Kubernetes教程
  • 练习题
carsaid
2023-10-09
目录

练习题-1

# 课后练习题-1

# 理论练习(开放性试题)

涵盖第 1 章的内容。

  1. 在部署 kubernetes 集群之前,需要对主机参数进行配置,为 kubernetes 创造一个良好的运行环境。主机参数配置共需要配置六项内容,是哪六项?
  2. kubernetes 需要安装哪些软件?
  3. 主机参数和软件都已经准备就绪。从部署到加入集群,需要几步?
答案
  1. IP地址配置、主机名配置、系统安全措施配置(设置防火墙和关闭selinux)、关闭交换分区、配置yum源、设置内核参数。
  2. 共六个软件,三个主要软件(kubeadm、kubectl 和 kubelet),三个依赖软件(containerd、runC 和 CNI plugins)。
  3. 三步,第一步初始化 master 节点,第二步在 master 节点上生成配置文件,第三步在 worker 上加入集群。

# 实操练习

涵盖第 2 章和第 3 章的内容。

  1. 查看集群的完整信息。
  2. 查看集群中共有多少台主机。
  3. 找出命名空间kube-system中,CPU 消耗最高的 pod 是哪一个。
  4. 创建命名空间ns1,切换至命名空间ns1,删除命名空间ns1。
  5. 将一个节点设置成维护模式,然后将其从集群中彻底删除。
  6. 如果忘记了 worker 用于加入集群的命令,该怎么获取一个新的加入命令?
  7. 命令行工具 kubectl 和 kubeadm 的子命令及其选项,都是不能使用 Tab 键自动补全的。应该如何配置,才能使其支持 Tab 补全?请写出步骤(三步)。

答案分隔线


答案分隔线


答案分隔线


答案分隔线


答案分隔线


答案分隔线


答案分隔线


答案分隔线


答案分隔线


# 实操练习答案

# 1. 查看集群的完整信息

kubectl cluster-info dump

# 搭配输出重定向
kubectl cluster-info dump > info.json
1
2
3
4

# 2. 查看集群中共有多少台主机

运行以下命令之后,数一下共有多少台主机。

kubectl get nodes
1

搭配管道符,获得一个具体的主机数量:

  • wc -l:统计行数

如果返回数字 4,则说明集群内有 3 台主机。为什么是 3 台?因为kubectl get nodes的结果中包含一行标题,四行内容去掉一行标题,剩下的三行就是主机信息,所以是 3 台主机。

kubectl get nodes | wc -l
1

再搭配 expr 算术命令,自动减去一行标题,获得的结果数字就是实际的主机数量:

kubectl get nodes | expr $(wc -l) - 1
1

# 3. 找出命名空间kube-system中,CPU 消耗最高的 pod 是哪一个

运行以下命令,然后看第一行的 CPU 信息即可:

  • --sort-by cpu:根据 CPU 使用情况进行降序排序
kubectl top pods -n kube-system --sort-by cpu
1

# 4. 创建命名空间ns1,切换至命名空间ns1,删除命名空间ns1

即使你位于 ns1 中,你也可以直接删除 ns1。

kubectl create ns ns1

kubectl config set-context --current --namespace ns1

kubectl delete ns ns1
1
2
3
4
5

# 5. 将一个节点设置成维护模式,然后将其从集群中彻底删除

删除之后 自己尝试加回来。

kubectl drain <节点名称> --force --ignore-daemonsets

kubectl delete nodes <节点名称>
1
2
3

# 6. 如果忘记了 worker 用于加入集群的命令,该怎么获取一个新的加入命令

加入集群的命令可以忘,但是获取它的命令不能忘。

kubeadm token create --print-join-command
1

# 7. 命令行工具 kubectl 和 kubeadm 的子命令及其选项,都是不能使用 Tab 键自动补全的。应该如何配置,才能使其支持 Tab 补全?请写出步骤(三步)

# 第一步,打开系统配置文件
vim /etc/profile

# 第二步,添加以下内容,然后保存退出。注意符号 < 和 ( 之间没有空格
source <(kubectl completion bash)
source <(kubeadm completion bash)

# 刷新配置文件,使配置立即生效
source /etc/profile
1
2
3
4
5
6
7
8
9
编辑 (opens new window)
暂缓更新
练习题-2

← 暂缓更新 练习题-2→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式