CKA-Kubernets(K8s) (四)
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 再创建一次目录
相关文章
- OpenYurt 开箱测评 | 一键让原生 K8s 集群具备边缘计算能力
- K8s 1.18 正式 release | 云原生生态周报 Vol. 43
- Centos7二进制部署k8s-v1.20.2 ipvs版本(controller-manager、kube-scheduler、kubelet)
- Centos7二进制部署k8s-v1.20.2 ipvs版本(docker、etcd)
- Centos7 k8s v1.5.2二进制部署安装-基本准备
- 云原生存储详解:容器存储与 K8s 存储卷
- Skaffold:让K8S开发工作变得简单
- K8S 基本架构与常用术语
- 使用ELK收集k8s集群日志
- k13.第五章 K8s基础篇-资源调度 (二)
- (2022版)一套教程搞定k8s安装到实战 | K8s集群安装(二进制)
- K8S集群calico报错Calico node ‘binary-k8s-master1‘ is already using the IPv4 address 172.18.0.1
- Net Core 微服务 - 如何将.Net Core Web Api服务部署到Kubernetes (K8s)中 转载
- Kubernetes(k8s)安装以及搭建k8s-Dashboard详解
- Kubernetes(k8s)基础概念介绍
- K8S集群Pod资源自动扩缩容方案
- K8S集群中Pod资源处于Terminating或Unknown状态排查思路
- K8S集群中Pod资源常见问题排查思路以及处理方法
- k8s的CNI网络插件
- k8s部署IngressController