Gitlab CI/CD 实践二:Rook Ceph 创建 S3 bucket 用于 Gitlab Runner 缓存
创建账号 进入ceph-tools pod kubectl -n rook-ceph exec -it rook-ceph-tools-6ccb958485-j7pvb bash 查看可用的对象存储 [root@rook-ceph-tools-6ccb958485-j7pvb /]# radosgw-admin realm list { "…
856
|
|
|
2022-5-16 18:02
|
2024-2-19 22:01
285 字
|
3 分钟
Gitlab CI/CD 实践一:Gitlab Runner 安装到 K8S 集群
背景 最近负责公司的 Devops 改造,使用 Gitlab CI/CD 替代之前的Jenkins。 为什么选择Gitlab CI/CD 而不是 Jenkins? 不引入其他服务,降低复杂度。 公司已经采用 Gitlab 来做源码管理了。 触发更简单,更敏捷,更灵活。 当在开发环境调试时,有的问题需要在环境里才能复现,就需要经常更新代码到环境,如果…
1808
|
|
|
2022-5-13 18:22
|
2024-2-19 21:55
1903 字
|
18 分钟
Kubernetes的client-go库
前言 client-go是一个调用kubernetes集群资源对象API的客户端,即通过client-go实现对kubernetes集群中资源对象增删改查等操作。大部分对kubernetes进行前置API封装的二次开发都通过client-go这个第三方包来实现。 RESTClient 最基础的,封装了指定资源URL访问Kubernetes API的…
467
|
|
|
2022-3-30 10:51
|
2023-3-21 21:48
682 字
|
6 分钟
十三、Kubernetes Services
为什么需要服务发现 Pod 生命周期不等于应用的生命周期,Pod 创建和销毁会导致它的 ip 地址发生变化 Service:Kubernetes 中的服务发现与负载均衡 Service 语法 port:外部访问这个 service 的端口 targetPort:service 访问后端服务的端口 查看 service kubectl discrib…
273
|
|
|
2022-3-02 17:47
|
2024-2-21 16:38
774 字
|
4 分钟
十二、可观测性——监控与日志
背景 在 Kubernetes 中,监控和日志属于生态的一部分,它并不是核心组件,因此大部分的能力依赖上层的云厂商的适配。Kubernetes 定义了介入的接口标准和规范,任何符合接口标准的组件都可以快速集成。 日志:排查问题的重要途径。 监控:及时暴露问题,防止进一步恶化。 监控 监控类型 在 K8s 中可以分成四个不同的类型: 资源监控 CPU…
485
|
|
|
2022-3-01 16:14
|
2022-3-02 16:18
2189 字
|
9 分钟
十一、可观测性——你的应用健康吗
需求来源 当把应用迁移到 K8S 后,如何保障应用的健康与稳定? 提高应用的可观测性 资源使用情况 应用自身的健康 实时日志,方便进行问题的诊断和分析 提高应用的可恢复能力 出现问题时首先是降低影响范围 例如 pod 不可用时,service 会在负载均衡里去掉该 pod 理想情况是通过 k8s 集成的自愈机制进行完整的恢复 例如 node 故障,…
392
|
|
|
2022-2-28 16:09
|
2023-11-29 10:41
2465 字
|
10 分钟
十、应用存储和持久化数据卷 – 存储快照与拓扑调度
快照 锁定某一个磁盘的状态,被锁定的数据无法修改 如果需要修改被锁定的数据,就复制一份,再进行修改 未修改的数据,磁盘只保留一份,共正常使用和作为快照 快照是磁盘内容的一部分,占用磁盘空间,不能存到其他磁盘 存储快照产生背景 提高数据操作的容错性 支持快速 restore 存储快照用户接口-Snapshot K8s 中通过 pvc 以及 pv 的设…
309
|
|
|
2022-2-25 17:58
|
2022-2-25 17:58
1410 字
|
6 分钟
九、应用存储和持久化数据卷 – 核心知识
Volumes 介绍 Pod Volumes 场景一:如果 pod 中的某一个容器在运行时异常退出,被 kubelet 重新拉起之后,如何保证之前容器产生的重要数据没有丢失? 场景二:如果同一个 pod 中的多个容器想要共享数据,应该如何去做? 有状态的容器,就需要卷。 根据使用场景,临时文件直接用 host 的形式存到宿主机,非;临时的可以往云盘…
279
|
|
|
2022-2-24 17:38
|
2022-2-24 17:38
2358 字
|
10 分钟
八、应用配置管理
需求来源 可变的配置不能放到容器里,否则配置改变,需要重新构建镜像 ConfigMap —— 资源 敏感信息的存储和使用 Secret —— 资源 认证相关,例如容器访问集群的 kube-apiserver ServiceAccount —— 资源 容器在节点上运行的资源要求 Resources —— spec 字段 容器是共享内核的,统一 nod…
280
|
|
|
2022-2-23 18:32
|
2022-2-24 10:00
2494 字
|
12 分钟
七、应用编排与管理:Job 和 DaemonSet
Job 背景问题 我们如何保证 Pod 内进程正确的结束? 如何保证进程运行失败后重试? 如何管理多个任务,且任务之间有依赖关系? 如何并行地运行任务,并管理任务的队列大小? Job:管理任务的控制器 Job 可以创建指定数量的 Pod ,并监控它是否成功地运行或终止 可以根据 Pod 的状态来给 Job 设置重置的方式及重试的次数 为什么要根据 …
386
|
|
|
2022-2-22 18:31
|
2022-2-22 18:31
966 字
|
4 分钟