MySQL-概论
MySQL-概论MySQL中的常见文件功能 mysqld:MySQL服务器程序 mysqld_safe:启动脚本,会间接调用mysqld并持续监控服务器的运行状态。当服务器出现错误的时候,可以帮助重启服务器程序。使用mysqld_safe启动MySQL服务器程序时,它将会将服务器程序出错信息和其他诊断信息输出到日志文件 错误日志默认写到一个.err拓展文件中 mysql.server:一个启动脚本,间接调用mysqld.safe,在执行mysql.server添加start就好了mysql.server start,停止MySQLmysql.server stop mysql.server是一个链接文件,实际文件../support-files/mysql.server mysql_mulit:起停多个数据库实例 登陆MySQL123# -p 需要有空格# -P (大写) 数据库端口号mysql -h <host> -u <user> -p <password> 退出终端: quit|exit|\q 系统变量12# 查看...
CKAD考试经验2025
CKAD考试经验 证书镇楼 考试过程 整体考试不难,如果有一些K8s的使用经验,基本上都能做出来,但是我实际上是参与了第二次的复考,第一次因为没仔细阅读考前须知,不知道怎么开K8s文档,浪费了20分钟,最后以差3分未通过 第二次复考,大部分题目与第一次一样,最后也再检查一边以后,提前了半个小时就提交了,最后以82PASS了 其他问题: 俩次考试检察官都要求环境检查,但是感觉严格程度不一样,因为选用中文,所以考官用中文聊天,但是不确定是不是国人 整个考试中,终端我都用Mac无法实现复制粘贴,不过也不影响 第一次考试,浏览器K8s文档无法查看到全部,包括无法选用中文(未解之谜) 浏览器中不知道怎么用Ctrl + F的搜索,都靠上下滑动
K8sController-DaemonSet(在每个Node上仅运行一个Pod)
K8sController-DaemonSet(在每个Node上仅运行一个Pod) 基于K8s 1.31 DaemonSet概述DS的常见场景 在每个Node上运行一个共享存储的驱动守护进程,比如ceph driver 在每个Node上运行一个日志采集程序,采集Node上全部日志,比如flaunted 在每个Node上运行一个性能采集程序 配置信息123456789101112131415161718192021222324252627282930313233343536373839apiVersion: apps/v1kind: DaemonSetmetadata: name: fluentdspec: # 修订历史最大数量 默认10 revisionHistoryLimit: 10 # 最短就绪时间 默认0 minReadySeconds: 5 # 更新策略 updateStrategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 selector: matchL...
K8sController-Deployment(无状态应用)
K8sController-Deployment(无状态应用) 基于K8s 1.31 什么是DeploymentDeployment是一种面向无状态应用的多个Pod副本进行自动化管理的工作负载控制器 常见场景: 部署一个或者多个副本应用 多副本的Pod的版本更新,以及部署过程的暂停和回滚 Pod副本数量的水平拓展缩容 Deploy管理能力123456789101112131415161718192021222324252627282930313233343536373839apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginx-deploymentspec: # 设置true,表述部署过程中属于暂停状态 paused: false # 修订历史最大数量 每个修订版本都有一个对应的RS资源 revisionHistoryLimit: 10 # Pod最短就绪准备时间,Pod至少达到这个时间,才会进入Pod为Ready状态 minReady...
CKAD模拟题A2025
CKAD Simulator Kubernetes 1.32Question 1 | Namespaces Solve this question on instance: ssh ckad5601 The DevOps team would like to get the list of all Namespaces in the cluster. Get the list and save it to /opt/course/1/namespaces on ckad5601. Answer:1k get ns > /opt/course/1/namespaces The content should then look like: 1234567891011xxxxxxxxxx# /opt/course/1/namespacesNAME STATUS AGEdefault Active 136mearth Active 105mjupiter Active ...
2024年终总结
2024年终总结那些我也许应该抵达的地方一月:与LeaderZhang相聚在绍兴,见到了书本上的鲁迅故居 五月:见过南京的各种故事 五月:抵达那个万象的重庆山城 五月:在武汉的东湖,骑行,期待下一次的重逢 六月:东莞HDC2024,与众星云集的相聚 七月:抵达广州,时隔许久相见18、19的师兄师姐 十月:与同学,自由行千岛湖 十一月:团建台州,点亮新图标 我🎓了 四年之期已经抵达终点站,毕业。 我带着我四年中做过有趣的项目,终于毕业了,虽然以1分之差,错过了优秀毕业论文,没能和LeaderZhang 双双拿下 因为这个项目,我也成功结缘于Cloud Native领域,在Java转向Go的迷茫中,寻找到了自己想追求的新方向K8s与容器化 这个项目也收到了老师资金资助正式发表到了省刊,虽然随着自己随着对领域的深入理解,感觉还是做的十分潦草,没什么特别的东西,但是也算是集齐了大学的一种神奇的体验 如何去写一篇论文 如何以第一作者发表期刊 如何绘制一个清晰的流程图 仰望星空也要脚踏实地在过去大半年的时间内,我很幸运的在我的第一志愿有一些了解的以及意向的云边部门实...
K8s中的垃圾回收
K8s中的垃圾回收 基于1.29 K8s的垃圾回收主要是以下的问题 结束的Pod对象 完结的Job对象 无主对象,这类的对象的Owner不存在 不再使用的容器和镜像 不再使用的动态创建的PV对象,对应的StorageClass声明了回收策略Delete 下列场景中被删除的Node 控制器的集群 Node Lease对象 Pod对象垃圾回收对于我阶段为Failed的Pod,对应的容器虽然已经停止,但是其资源对象依旧存在API Server,需要被Pod控制器或者运维人员手动删除 kube-controller-manager中有一个名为PodGC的组件专门负责自动清理“垃圾类”Pod 孤儿Pod,绑定的Node已经不存在 未调度就结束的Pod 终结中的Pod,这类Pod满足,它们被绑定到NotReady的Node,该Node有一个污点node.kubernetes.io/out-of-service,并且NodeOutOfServiceVolumeDetach特性门控开启 对于孤儿Pod,如果它们的阶段不少终结阶段,则PodGC会把它们设置为Failed,此...
Kubelet运行机制解析
Kubelet运行机制解析 基于1.29 在K8s集群中,在每个Node上都会启动一个kubelet进程,进程用于处理Master下发Node任务,管理Pod以及Pod中人容器。 每个kubelet进程都会在API Server注册Node信息,定期向Master汇报Node资源使用情况,并且通过cAdvisor监控容器和Node资源 自从K8s v1.28开始,kubelet通过--config-dir支持一个插件配置目录,在启动时,kubelet会合并以下几个部分的配置 命令行参数(优先级最低) kubelet配置文件 排序的插件配置文件 在命令行中指定的特性门控–feature-gates(优先级最高) Node通过kubelet启动参数--register-node决定是否向API Server注册自己,还可能有以下的参数 --api-servers:API Server的配置 --kubeconfig:kubeconfig文件,用于访问API Server的安全配置文件 资源管理深入理解节点可分配资源(Node Allocatable Resourc...
kube-proxy运行机制解析
kube-proxy运行机制解析 基于1.29 第一代Proxy一开始是一个真实的TCP/UDP代理,类似于HAProxy,负责转发从Service到Pod的访问流量,这被称为“userspace”模式 第二代Porxy从v1.2版本开始,K8s将iptables作为kube-proxy的默认模式,iptables模式组作为kube-proxy都默认模式 iptables模式,不再起到数据层面的Porxy作用,client向Service的请求流量通过iptables的NAT规则 直接发送到目标Pod,不再经过kube-proxy的转发,kube-proxy只承担控制层面的功能,即通过API Server的Watch接口实时跟踪Service与Endpoint的变更信息,并更新Node上相应的iptables规则 kube-proxy针对于Service和Pod创建一些主要的iptables规则如下: KUBE-CLUSTER-IP:在masquerade-all=true或ClusterCIDR被指定的情况下对Service Cluster IP地...
Kube-ApiServer架构解析
Kube-ApiServer架构解析 基于1.29 API层:主要以REST方式提供各种API,除了K8s的CUED资源还有健康检查、日志等等 访问控制层:当有客户端访问API时,访问控制层负责对用户身份鉴权、校验 Registry:K8s把所有的资源对象都保存在注册表,针对不同的资源对象,都定义了资源对象的类型、如何创建资源对象,如何转换资源对象,以及如何资源编码为JSON或ProtoBuf格式进行存储 etcd:用于持久化存储K8s资源对象的KV数据库 K8s Proxy APIK8s Proxy API 的作用是代理REST请求,把API Server收到的REST请求转发到K8s进程的REST端口 该进程由kubelet负责响应 这里的信息,来自于Node,而不是ETCD所以可能存在偏差 K8s Porxy API路径如下: 12345678# 列出指定Node的所有Pod/api/v1/nodes/{node}/proxy/pods # 列出指定Node都所有性能指标统计信息/api/v1/nodes/{node}/p...