Files
devops/kubernetes.md
2025-09-17 16:08:16 +08:00

4.4 KiB
Raw Blame History

Kubernetes

questions

  • chart, image 关系
  • kubernetes ,docker 关系
  • kubernetes主节点数量
  • 应用部署在worker上
  • k8s安装应用部署

Pod作为基本的执行单元它可以拥有多个容器和存储数据卷

Kubelet才是Pod是否能够运行在特定Node上的最终裁决者而不是scheduler或者DaemonSet。

使用

kubectl top node kubectl top pods -A

kubectl describe nodes beta-ceshi-funeng-1

helm

  • 管理、编辑与更新大量的Kubernetes配置文件。
  • 部署一个含有大量配置文件的复杂Kubernetes应用。
  • 分享和复用Kubernetes配置和应用。
  • 参数化配置模板支持多个环境。
  • 管理应用的发布回滚、diff和查看发布历史。
  • 控制一个部署周期中的某一些环节。 发布后的测试验证。

业务连续性

Some Features

  • 使用hostAliases配置Pod /etc/hosts

deployment / release

容器化改造

CCE支持用户选择containerd和docker作为运行时组件 Containerd调用链更短组件更少更稳定占用节点资源更少。 建议选择containerd。 当您遇到以下情况时请选择docker作为运行时组件

config yaml file

ingress

kubectl

rancher

日志采集

日志作为任一系统不可或缺的部分在K8S的官方文档中也介绍了多种的日志采集形。 总结起来主要有下述3种原生方式、DaemonSet方式和Sidecar方式。

  • 原生方式:使用 kubectl logs直接在查看本地保留的日志或者通过docker engine的log driver把日志重定向到文件、syslog、fluentd等系统中。
  • DaemonSet方式在K8S的每个node上部署日志agent由agent采集所有容器的日志到服务端。
  • Sidecar方式一个POD中运行一个sidecar的日志agent容器用于采集该POD主容器产生的日志。

优缺点:

  • 原生方式相对功能太弱,一般不建议在生产系统中使用,否则问题调查、数据统计等工作很难完成;
  • DaemonSet方式在每个节点只允许一个日志agent相对资源占用要小很多但扩展性、租户隔离性受限比较适用于功能单一或业务不是很多的集群
  • Sidecar方式为每个POD单独部署日志agent相对资源占用较多但灵活性以及多租户隔离性较强建议大型的K8S集群或作为PAAS平台为多个业务方服务的集群使用该方式。

HA

master 挂了怎么办? 搭建高可用的 Kubernetes Masters

Some Questions

  • OOMKilled

存储

有状态应用实践

References