zl程序教程

您现在的位置是:首页 >  后端

当前栏目

CKA-Kubernets(K8s) (四)

k8s CKA
2023-09-11 14:15:23 时间

StatefulSet

简称:sts

# 创建一个新的

 

 

# 默认没有模板可以创建,需要到官方网站去寻找模板格式

 

 

PV  --   PVC

# 动态卷供应 , 自己创建的“动态卷供应”

 

 

 

 # 修改副本数,会一个一个产生

 

 # 如果删除一个,就会自动再生成一个

 

 #  修改pod里面首页文件内容,相当于修改对应下面的物理位置

 

 

# 最终数据写入的地方

 

 

# 自己尝试删除以后查看下里面的数据是否还是以前的存储的数据

 

 

# 原有的deploy的架构(使用共享存储) pod1~3 数据一致

 

 

每个pod都有独立的数据和存储,一般用户进内部访问比如mysql 主从复制

 

 

 

 

所谓无头服务就是TYPE 为空

  定义的时候没有IP

 

 

 

 

 无头访问方式:    pod.svc 的方式

 

 

# mysql 的相关视频   老段

https://space.bilibili.com/649576517/channel/detail?cid=144361

 

# 删除sts

 

 

 

 

master负载均衡

# master存在单节点故障隐患 

 

 # 全负载架构 多个负载

 

 

 

# 实验拓扑图  1client  1 ha   2 etcd  2 master   1 work    

 

 

 

 

# 重置每个实验节点

 

 

# 清除剩余文件(每个节点)

 

 

 

# 现在HA 上配置

 

 

K8s  master端口6443

 

# 加入到最后,当别人访问我的6443的时候我将转发给

 

 

# 启动服务

 

 

# 确认是否启动6443端口

 

 

 

# 配置etcd集群    42  和 43

# 安装etcd

 

 /etc/etcd/etcd.conf

 

 

 # 复制配置文件给另外一台,并且修改  1,6行 修改42 到43

 

 

# 配置master  31  和 41

 

准备工作

1. yum 源 docker-ce

2. hosts 文件

3. 修改swap

 

4. 安装docker-ce

5. 防火墙设置

6. 设置加速器

7. 修改内核参数,还要执行sysctl -p  /etc/sysctl.d/k8s.conf生效 

 

 

 

 

 

 

 # 初始化集群修改配置文件(这个是以前安装过k8s 的master机器上)

 

 

 

 

 

# 同步证书到,到另外一台master

打包:

 

 

 

 

 

 # 到 41上去解压

 

 # 到41 上执行加入集群,注意尾巴多了一个  --control-plane 

 

 # 需要导入calico镜像

 

 

 

 # 设置新的master可以使用tab键

 

 # 可以使用kubectl  create ns ns1  命令来测试两边master是否同步

 

 

 

 

 # 生成私钥

 

 # 生成证书请求文件

 

 # 修改csr.yaml 文件

 

 

 

 

 # 分配权限1

 

  # 分配权限2

 

 

# 新建客户端测试   200

安装kubectl 命令

 

 

 

 

# work 加入    32

 

 

# 模拟实验,关闭31服务器,依然是可以访问的

 

 

# 思考:是否还有其他master高可用方案

小技巧:打包数字开头的文件夹

 

 

 

 

 

升级k8s

# 准备工作

1. 先安装老版本1.19.2    k8s     ,加入一个节点

2. 配置一个calico网络

 

# 升级可以参考官方文档

 

 

# 升级相关介绍

1.  升级不能跨版本升级

1.18.x -- > 1.19.x   

1.18.x --> 1.2.0.x    ×

 

2. 节点升级顺序

  1) 升级master

 

 

 

  2) 升级第二台master

  3) 升级worker

# 显示有多少个版本可用的

 

 

# 升级kubeadfm

 

 

# 升级之前要进入维护模式

 

 # 查看可以升级版本

# 升级到你想升级的版本组件

#  想不升级etcd 可以增加一个选项  --etcd-upgrade-false

 

# 升级完成提示

 

 

# 升级完成后解除维护模式

 

 

 #  升级kubelet,重启后版本会变成1.20

 

 

升级Node 

 

# 安装kubeadm

# 维护模式

 

 # 升级组件

 

 #  取消维护模式

 

 # 升级kubelet 和kubectl

 

 #  重启

 

 

考前辅导

# CKAD

考试时间:2小时

19到题目

满分100分,66分通过

考试只能打开2个标签: 考题,官方文档

 

密码: redhat      考试用鼠标复制,粘贴   (不要使用ctrl+c ctrl + v)

 

切换名称空间

 

考试的时候不能使用table键

sudo -i 切换root用户 

 

 # 配置自动补全

source <()

 

# 题目一   创建pod

 

 

 # 题目二   创建secret

 

 

 

# 题目三  创建 resources

# 题目四    创建 cm

# 题目五    创建,设置 sa

# 题目六    放弃?

 

# 题目七  日志分析

# 题目八  top 资源占用最高的pod名字分析

# 题目九 创建一个 yaml,存放在一个地方,然后pod里面获取一个json 存放到一个地方

 # 题目十    变量(env)下面的端口值需要双引号

# 题目十一 更新deploy 的参数和镜像及版本

 

  # 撤销回之前的版本

 

 

# 题目十二   容器A 产生的日志 format A    挂载 空卷 和 CM

# 题目十三   CJ  10秒要结束   kubectl create cj --help 

 

 # 题目十四  增加标签   修改副本数    服务引用

 

 

 

 

 

# 题目十五   放弃??

# 题目十六    排错题  修改镜像名

# 题目十九  创建持久卷

Tips: 考试的时候提前准备官档的收藏夹

 

CKA exam 2021  课前辅导

2小时

17道题

满分100分,66分通过

注意事项:

无法使用ctrl + C  ctrl +V

网络设置为

# 设置tab补全

 

  

# 设置vim

.vimrc

set paste

 

控制台(并不是集群的一部分)

ssh tom@192.168.26.20

 

 #首先, 切换集群

# 创建ClusterRole

 

# 创建sa

 

 

# 进行绑定

 

 

 

  # 切换集群

 

# 注意

 

 

 

 

 # 切换集群

# 注意收藏升级准备官方文档       关键词 upgrade

 

 # 考试的时候用的是ubuntu  

 

 # 远程连接到vms28

 

# 升级要注意加上,选项,不升级etcd

 

 

 # 安装kubelet和kubectl

 

 # 重启

 

 # 取消维护模式

 

 

 

# 考试的时候默认版本3,如果不放心可以再敲一次

 

 

 

etcdctl  --help    # 边查看帮助,边进行证书配置

# 快照方法,参考

 

# 还原方法,参考 (Note:还原操作的时候使用root用户

 

 

 

 

 # 切换集群

# 官网文档收藏    关键词:  networkpolicy

#复制模板   # 修改为如下

 

 

# 设置标签

 

 

 

# 可能会出现的第二题         连接到??

 

 

 # 练习创建的命名空间

 

 

 

 

 

 

 

 

 

 # 修改端口为80

 

 

#  创建svc

 

 

 

 #  官方文档  收藏   ingress

# 模板

 

 # 修改为

 

# 练习环境(这两行注释,考试保留

 

 

 

# 验证

 

 

 

 

 

 

 

 

 # 创建模板

 

 # 根据题目要求修改

 

 

 

 

 

 

 

 

 

 

 

 

 

 # 官方文档收藏  pv

# 复制模板

 

 

 

 # 官方文档收藏  pvc

# 复制模板

 

 

 

 

# 官方文档复制pod -- pvc 应用部分

 

# 并记录此次更改,需要加上--record

 

 

 

 

 

 

 

 

 

 

 

# 留一个备份yaml  

 

 

 # 删除现有pod

 

 

# 在现有的vloumes: 下增加了logs

 

 

 # 第二个容器也需要挂载到logs

 

 

# 第一个容器也需要挂载

 

 

 

 

# 注意考试环境到底有没有目录  最好mkdir -p 再创建一次目录