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 再创建一次目录



