分类目录归档:云原生

informer-k8s


在 Kubernetes 中,Informer 是一种客户端库,用于跟踪 Kubernetes API 资源对象的变化并将这些变化通知给应用程序。Informer 提供了一种机制,使应用程序能够实时获取关于集群中资源对象状态的更新信息,从而实现对这些对象的监控和反应。

以下是一些关于 Informer 的重要特点和功能:

  1. Watch 机制
  2. Informer 使用 Kubernetes API server 的 Watch 机制来订阅资源对象的事件流。通过 Watch,Informer 可以接收关于资源对象的添加、更新、删除等事件通知。

  3. 本地缓存

  4. Informer 在本地维...

Read more

容器状态探测-k8s


在 Kubernetes 中,容器状态探测(Container State Probe)是一种重要的机制,用于监测容器内应用程序的健康状态和可用性。Kubernetes 提供了三种类型的容器状态探测:

  1. 存活性探测(Liveness Probe)
  2. 存活性探测用于检测容器内的应用程序是否处于运行状态。如果存活性探测失败,Kubernetes 将尝试重新启动容器以恢复应用程序的正常运行。存活性探测通常用于检测应用程序是否出现死锁或其他问题导致无响应的情况。

  3. 就绪性探测(Readiness Probe)

  4. 就绪性探测用于检测容器内的应用程序是否已经准备好接收流量。当就绪性探测失败时...

Read more

IPIP-calico


Calico 是一个开源的容器网络解决方案,它支持多种网络模型,其中之一就是 IPIP 模式。IPIP(IP in IP)是一种隧道协议,它在 IP 包的内部封装另一个 IP 包,从而实现对数据包的隧道封装和传输。

在 Calico 中,IPIP 模式用于在不同节点之间创建虚拟网络,以支持容器和虚拟机的通信。以下是在 Calico 中配置 IPIP 模式的简要步骤:

  1. 安装 Calico: 在 Kubernetes 集群或其他支持的环境中安装 Calico。

  2. 配置 IPIP 模式: 通过修改 Calico 的配置文件或使用相关命令配置 Calico 以使用 IPIP 模式。在 Ca...

Read more

knative


Knative 是一个开源的、云原生的平台,用于构建、部署和管理现代的、可扩展的Serverless应用程序。Knative 提供了一系列构建块,用于简化Serverless应用程序的开发和部署,使开发人员能够更专注于编写代码而不必关心底层的基础设施细节。

Knative 的主要功能和组件包括:

  1. Build (构建): Knative 提供构建服务,用于自动化构建和打包应用程序代码。它支持多种构建策略和语言,并可以生成容器镜像,以便在Serverless环境中运行。

  2. Eventing (事件): Knative Eventing 允许开发人员使用事件来驱动应用程序的不同部分。它提...

Read more

容器编排-Orchestration


容器编排是指对容器化应用程序进行自动化部署、升级、扩展和管理的过程。它主要涉及到在一个集群中运行和管理多个容器的任务,以确保应用程序能够高效地运行、扩展和适应变化的工作负载。容器编排的主要目标是简化和自动化容器化应用程序的生命周期管理。

在容器编排中,一个集群通常包括多个节点,每个节点运行容器编排工具所需的软件,例如 Kubernetes、Docker Swarm 等。以下是容器编排的一些关键概念和任务:

1. Pod:

  • Pod 是容器编排中的基本单元,它包含一个或多个容器,并共享相同的网络命名空间、存储卷和 IP 地址。Pod 提供了容器之间的通信和协作。

2. Deploymen...

Read more

openshit


OpenShift 是由 Red Hat 公司推出的一款开源的 Kubernetes 平台。它提供了一套工具和服务,简化了在 Kubernetes 上构建、部署和管理容器化应用程序的过程。以下是关于 OpenShift 的一些关键概念和特性:

1. 容器编排:

  • OpenShift 基于 Kubernetes 构建,因此它继承了 Kubernetes 的强大的容器编排功能。这包括自动化容器的部署、伸缩和管理。

2. 源到图(Source-to-Image,S2I):

  • OpenShift 提供了 Source-to-Image 工具,允许开发者通过简单的命令将应用程序源代码转换成 Do...

Read more

helm


Helm是一个用于简化Kubernetes应用程序部署、更新和管理的工具。它允许用户定义、安装和升级Kubernetes应用程序的Packages,这些Packages被称为Charts。Helm的设计目标是提供一种易用、可扩展且标准化的方式来组织和共享Kubernetes应用程序。

以下是Helm的一些关键概念和特性:

1. Chart:

  • Chart是Helm的打包格式,包含了用于部署一个应用程序所需的所有资源定义和参数。一个Chart可以包含多个Kubernetes资源文件(如Deployment、Service、ConfigMap等)以及一个values文件,其中包含用户可以自定...

Read more

kubernetes


Kubernetes(通常简称为K8s)是一个开源的容器编排和管理平台,用于自动化容器化应用程序的部署、扩展和运维。Kubernetes提供了一种高度可扩展的架构,支持多云、多数据中心的部署,使得应用程序能够更容易地实现弹性、高可用性,并提供了丰富的自动化管理功能。

以下是一些关键的Kubernetes概念和功能:

1. 容器编排:

  • Kubernetes用于管理和编排容器化的应用程序。它负责启动、停止和自动扩展容器,以确保应用程序在集群中始终处于所需的状态。

2. 集群管理:

  • Kubernetes将一组主机(节点)组织成一个集群,这些节点可以是物理服务器、虚拟机或云实例。集群中的节...

Read more

docker启动各种服务


# nginx 文件服务器
docker run -p 80:80 --restart always  -d -v F:\data:/data -v D:\01-sourceCode\docker-nginx\default.conf:/etc/nginx/conf.d/default.conf --name nginx  nginx


docker run -p 8888:80  -d  -v D:\01-sourceCode\docker-nginx\default.conf:/etc/nginx/conf.d/default.conf -v E:\data:/data --nam...

Read more