分类目录归档:云原生

rootless-docker


Rootless mode(无 root 模式)是指在 Linux 系统中以普通用户的身份运行容器引擎(如Docker)而无需 root 权限的一种模式。

传统上,要在 Linux 上运行容器引擎,需要以 root 用户或具有 root 权限的用户身份来执行。这是因为容器引擎需要对底层系统资源进行管理和操作,例如使用 cgroups 进行资源隔离,使用命名空间进行隔离等。然而,以 root 用户的身份运行容器引擎存在一些安全风险和管理上的挑战。

为了解决这些问题,容器引擎引入了 Rootless mode,它允许普通用户在没有 root 权限的情况下运行容器。Rootless mode ...

Read more

kompose-kubernetes


Kompose 是一个开源工具,用于将 Docker Compose 文件转换为 Kubernetes 配置。通过使用 Kompose,您可以方便地将现有的 Docker Compose 项目迁移到 Kubernetes 平台上运行。

使用 Kompose 可以简化从本地开发环境到生产环境的部署过程。它会自动将 Docker Compose 文件中的服务、网络和卷等元素转换为 Kubernetes 中的对应对象,使得在 Kubernetes 上部署和管理容器化应用更加容易。

要使用 Kompose,您需要先安装它,并确保已经安装了 Docker 和 Kubernetes。然后,通过命令行...

Read more

CronJob-k8s


在Kubernetes中,CronJob是一种控制器对象,用于管理定时任务。它基于类似于Linux中的cron(定时任务)的语法,实现了自动化调度容器。

通过创建CronJob资源对象,用户可以定义需要运行的任务,并指定调度规则,例如每天凌晨2点执行一次。Kubernetes会负责创建对应的Pod实例并监控任务的执行情况,确保任务成功完成。

CronJob使用了Kubernetes的Job功能来实现任务的自动化调度和管理。当任务成功完成后,CronJob会自动终止Pod实例。而当任务失败时,CronJob会自动重新启动一个新的Pod实例来进行重试,直到任务成功完成或者达到最大重试次数为止...

Read more

job-k8s


在Kubernetes中,"Job"是一种控制器对象,用于管理短暂任务或者批处理任务,它确保指定数量的Pod成功运行。当任务成功完成后,Job会自动终止Pod实例。

通过创建Job资源对象,用户可以定义需要运行的任务,并指定所需的Pod数量。Kubernetes会负责创建Pod实例并监控任务的执行情况,确保任务成功完成。这使得在Kubernetes集群中运行定时任务、数据处理任务等变得更加方便和可靠。

Read more

static pod-kubernetes


静态Pod(Static Pod)是一种在Kubernetes集群中运行的特殊类型的Pod。与常规的Pod不同,静态Pod不由Kubernetes API服务器进行管理和调度,而是由kubelet节点代理直接管理和运行。

静态Pod是通过在kubelet节点上的静态Pod目录中放置Pod配置文件来定义的。kubelet会监视该目录,并根据配置文件中定义的Pod规范创建和管理Pod。这意味着静态Pod的生命周期与kubelet的生命周期紧密相关,如果kubelet停止运行,则静态Pod也会被终止。

静态Pod的优点是简单且易于管理。它们适用于一些特殊的用例,例如在kubelet启动时自动运...

Read more

Disruption Budgets-中断预算-k8s


在 Kubernetes 中,可以使用 Disruption Budgets(中文称为中断预算)来定义 Pod 的可中断性限制,以确保在进行维护或升级时不会对应用程序的可用性造成影响。

Disruption Budgets 可以定义多个 Pod 集合,每个集合都有一个与之关联的最小可用性要求。这个最小可用性要求是一个百分比值,表示集合中至少需要有多少个 Pod 是处于运行状态的。

例如,如果你有一个 ReplicaSet 包含 5 个 Pod,而你的 Disruption Budget 设置为最小可用性要求为 80%,则最多只能停止 1 个 Pod。因为当你停止 2 个或更多的 Pod ...

Read more

csr-kubernetes


在Kubernetes中,CSR代表证书签名请求(Certificate Signing Request)。CSR是用于向证书颁发机构(CA)请求数字证书的一种标准格式。

在Kubernetes中,当节点或服务想要加入集群并与其他组件通信时,它们需要使用TLS证书进行身份验证和安全通信。这就涉及到CSR的使用。节点或服务生成CSR并将其发送给Kubernetes集群中的证书控制器(Certificate Authority Controller)。控制器会审查请求并签署数字证书,然后将签名后的证书返回给节点或服务,从而允许它们在集群中进行安全通信。

通过使用CSR,Kubernetes实...

Read more