首页
云原生
docker
containerd
Kubernetes
Prometheus
基础知识
操作系统
计算机网络
Linux基础
基础设施
Nginx
Devops
gitlab
jenkins
Maven
Ansible
前端
日志监控
数据库
MySQL
Redis
Oracle
编程
shell
python
其他
hyperledger-fabric
系统安全
运维相关工具
友情链接
归档
关于
Gaoyufu 's blog
好好活就是有意义的事,有意义的事就是好好活
累计撰写
257
篇文章
累计创建
92
个标签
累计收到
7
条评论
栏目
首页
云原生
docker
containerd
Kubernetes
Prometheus
基础知识
操作系统
计算机网络
Linux基础
基础设施
Nginx
Devops
gitlab
jenkins
Maven
Ansible
前端
日志监控
数据库
MySQL
Redis
Oracle
编程
shell
python
其他
hyperledger-fabric
系统安全
运维相关工具
友情链接
归档
关于
目 录
CONTENT
云原生-Gaoyufu 's blog
以下是
云原生
相关的文章
2023-01-18
buildkit构建工具
这段摘要很好地总结了关于BuildKit的介绍和使用场景,以及其作为Docker构建工具的优势和功能。以下是对其进行的简洁概括: BuildKit是Docker官方推出的下一代镜像构建工具,用于更高效、安全地构建Docker镜像。它通过并行构建和优化缓存机制提高了构建速度。它支持多种导出格式,并使用前端支持如Dockerfile。BuildKit解决了传统Docker镜像构建的一些问题,如构建步骤的顺序性和缓存效率。其优势包括:构建步骤优化、高效灵活的缓存、多种输出格式以及对Dockerfile语法的增强。使用场景涵盖Docker BuildKit在Docker Desktop上的默认启用、Kubernetes中的镜像构建以及使用BuildKit进行专门的构建任务。安装BuildKit需要安装buildkitd守护进程和buildctl客户端。基于Dockerfile构建镜像时,BuildKit支持使用cache以提高构建效率,并支持多种cache类型和使用方式。此外,BuildKit还支持多平台镜像构建和对Dockerfile语法的增强。实际操作中,可以通过设置环境变量DOCKER_BUILDKIT=1来启用BuildKit进行docker build。总结来说,BuildKit提供了更快速、灵活的Docker镜像构建体验。
2023-01-18
246
0
0
云原生
docker
2023-01-18
containerd入门
Containerd 是一个开源的容器运行时,由 Docker 公司捐赠给 Cloud Native Computing Foundation(CNCF)进行维护。Containerd 专注于容器生命周期的管理,包括镜像的拉取、存储和容器的创建、启动、停止等。它提供了稳定的 gRPC API,使得上层系统(如 Kubernetes、Mesos 等)可以方便地与 Containerd 交互,进行容器编排和管理。 Containerd 支持多种插件,包括存储插件、网络插件等,使得 Containerd 具有强大的扩展性。Containerd 的目标是提供一个更加开放、稳定的容器运行基础设施,支持多种容器编排系统,并专注于容器运行时管理。 在 Containerd 中,namespace 是一个重要的概念,用于隔离不同的容器环境,实现多租户管理。Containerd 默认的 namespace 是 "default",但可以通过创建新的 namespace 来隔离不同的容器环境。 Containerd 还支持网络插件,通过 CNI(Container Network Interface)为容器提供网络功能。用户可以根据需要配置不同的网络插件,如 flannel、calico 等,以满足不同场景下的网络需求。 Containerd 的数据存储管理也支持多种插件,如 overlay、aufs、zfs 等,用于管理容器的存储。用户可以根据需求选择合适的存储插件,以满足不同的存储需求。 此外,Containerd 还提供了丰富的命令行工具,如 ctr、nerdctl 等,方便用户进行容器的管理。这些工具提供了类似 Docker 的命令接口,使得用户在使用 Containerd 时可以保持与 Docker 类似的体验。 综上所述,Containerd 是一个功能强大、灵活可扩展的容器运行时,适用于各种容器编排系统,为容器管理提供了强大的基础设施支持。
2023-01-18
129
0
0
云原生
containerd
2023-01-18
Docker常用命令
好的,我会继续为您总结Docker的相关知识。 五、Docker网络配置 Docker提供了多种网络配置选项,以便在容器之间以及与主机之间建立网络连接。默认情况下,Docker使用一种叫做“桥接”的网络模式来连接容器。在这种模式下,每个容器都被分配一个独立的IP地址,这些IP地址在主机上不可见。除此之外,Docker还支持其他网络模式,如host模式、overlay模式等。 六、Docker Compose Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它使用一个YAML文件来配置应用程序的服务,然后使用一个命令来启动和停止所有服务。这使得管理和部署多个容器的应用程序变得非常简单。 七、Docker安全 由于Docker在虚拟化层面上运行应用程序,因此它需要在安全方面进行特定的配置和管理。这可能包括限制容器的特权、管理镜像的来源和安全性,以及确保网络的安全等。此外,还需要定期更新Docker本身和其运行的应用程序以修复已知的安全漏洞。 八、Docker监控和日志管理 在生产环境中运行Docker时,需要对容器进行监控和日志管理以确保其正常运行。这可以通过各种工具来完成,如cAdvisor用于监控容器的资源使用情况,如CPU、内存和磁盘使用等,以及ELK Stack(Elasticsearch、Logstash和Kibana)用于日志管理和分析。 以上就是对Docker的一些基础知识的总结,希望对您有所帮助。如果您还有其他问题或需要进一步的解释,请随时告诉我。
2023-01-18
101
0
0
docker
云原生
2022-09-09
prometheus+grafana+AlertManager部署
这是一个非常完整的部署方案,包含了 Prometheus、Grafana、AlertManager 和 Node exporter 等服务,通过 Docker Compose 进行部署。下面是关于这个部署方案的详细解释: 一、二进制部署方式:你已经详细介绍了使用二进制方式部署 Prometheus、Grafana 和 AlertManager 的步骤,这是一个非常传统和直接的方式,但可能会遇到依赖和环境配置的问题。在 Linux 系统上部署这些服务时,需要注意权限和配置文件的正确性。 二、Docker Compose 部署方式:这是一种更现代化的部署方式,通过 Docker 容器来管理你的服务。这种方式的好处是可以轻松地在不同的环境中部署和扩展你的服务,并且可以轻松管理依赖和配置。以下是关于你提供的 Docker Compose 文件的详细解释: * Prometheus 服务:配置了 Prometheus 的 Docker 镜像,挂载了配置文件和存储目录,并开放了 9090 端口。 * Grafana 服务:配置了 Grafana 的 Docker 镜像,挂载了存储目录,并开放了 3000 端口。 * AlertManager 服务:配置了 AlertManager 的 Docker 镜像,挂载了配置文件,并开放了 9093 端口。此服务依赖于 Prometheus。 * Cadvisor 服务:这是一个用于监控 Docker 容器和宿主机资源的工具,配置为运行在每个宿主机上。 * Node-exporter 服务:用于收集宿主机的一些基础指标,如 CPU、内存等。这个服务配置了环境变量和命令参数来适应你的需求。 在使用 Docker Compose 部署时,需要注意以下几点: 1. 确保你已经安装了 Docker 并正确配置了网络。 2. 确保你的配置文件(如 Prometheus、Grafana 和 AlertManager 的配置文件)已经正确放置在指定的挂载目录中。 3. 如果你有任何自定义配置或需要调整的服务参数,可以在 docker-compose 文件中进行相应的修改。 最后,关于钉钉告警的部分,你已经在二进制部署方式中详细介绍了其部署步骤和配置方法。在 Docker Compose 部署方式中,你可以将钉钉告警作为一个独立的服务进行部署和管理。你可以创建一个新的服务来运行 prometheus-webhook-dingtalk 二进制文件,并配置相应的挂载和端口。这样就可以将钉钉告警集成到你的监控系统中。
2022-09-09
160
0
0
云原生
Prometheus
2022-05-10
Kubernetes基本概念
这篇学习笔记主要介绍了Kubernetes(K8s)的基础知识、组件、Pod的创建和故障排查等。K8s是一个由Google开源的、用于自动化部署、扩展和管理容器化应用程序的平台。该笔记详细解释了K8s的Master节点和Node组件,包括Kube-APIServer、Controller-Manager、Scheduler和Etcd等,以及Pod的创建、重启策略、探针、启动和退出流程等。此外,还介绍了如何设置Pod的镜像拉取策略、探针检测方式以及参数配置,如初始化时间、超时时间、检测间隔等。通过这些知识,读者可以深入了解K8s的架构和运行机制,为在K8s环境中部署和管理应用程序打下坚实的基础。
2022-05-10
108
0
0
云原生
Kubernetes
2022-05-10
资源调度
本文介绍了Kubernetes中多种资源对象的管理方法,包括: 1. Replication Controller (RC) 和 ReplicaSet (RS):用于管理Pod的创建和复制,确保集群中始终有指定数量的Pod副本运行。 2. Deployment:用于管理无状态应用的Pod,可以实现滚动更新、自动扩展和灾难恢复等功能。 3. StatefulSet:用于管理有状态应用的Pod,确保每个Pod都有唯一的标识符,并能在节点间保持有序的部署和更新。 4. DaemonSet:用于在每个符合条件的节点上部署一个Pod,常用于运行集群存储、日志收集、监控等守护进程。 5. Label和Selector:用于对Kubernetes中的资源进行分类和分组,通过Label选择器可以精确地选择资源对象。 6. Horizontal Pod Autoscaler (HPA):根据CPU、内存等资源使用情况自动调整Pod的副本数,实现自动扩缩容,确保应用服务的稳定运行。 此外,还介绍了如何创建、更新、扩容和缩容这些资源对象,以及如何通过Label和Selector对Pod进行选择和部署。通过这些方法,可以更加灵活和高效地管理Kubernetes集群中的资源,确保应用服务的可用性和性能。
2022-05-10
130
0
0
Kubernetes
云原生
2022-05-10
配置管理
从您的描述来看,您正在讨论Kubernetes中的ConfigMap和Secret的使用限制以及不可变性。以下是关于这些点的详细解释: 1. **使用限制**: * **引用Key必须存在**: 当使用ConfigMap或Secret为Pod提供环境变量时,引用的key必须在ConfigMap或Secret中存在。如果不存在,它将不会被赋予任何值。 * **envFrom、valueFrom无法热更新环境变量**: 使用`envFrom`或`valueFrom`引用的ConfigMap或Secret在更新后不会立即更新Pod的环境变量。需要采取其他措施(如重新部署Pod)来使更新生效。 * **key无效时忽略**: 如果使用`envFrom`配置环境变量时某个key是无效的,Kubernetes会忽略这个无效的key,其他有效的key还是会正常设置。 * **命名空间限制**: ConfigMap和Secret必须和引用它们的Pod或资源在同一个Kubernetes命名空间中。 * **subPath无法热更新**: 使用subPath挂载的ConfigMap或Secret在更新后不会反映在已经运行的Pod上。 * **大小限制**: ConfigMap和Secret的大小应该适中,过大的ConfigMap或Secret可能导致性能问题和管理困难。 2. **不可变性**: * 对于某些关键或不可变的数据,可以通过设置`immutable`字段为`true`来确保ConfigMap或Secret不被更改。一旦设置为不可变,就不能再修改或删除这个资源,除非先删除正在使用这个资源的Pod。在您的例子中,通过设置`immutable: true`在ConfigMap中,确保了该ConfigMap不可更改。如果尝试编辑一个设置为不可变的ConfigMap,将会收到一个错误消息,告知该资源是不可变的。 总之,为了确保数据的完整性和安全性,对于重要的配置或敏感信息,应该合理使用ConfigMap和Secret,并注意其使用限制和不可变性特性。
2022-05-10
106
0
0
云原生
Kubernetes
2022-05-10
高级调度
摘要总结: 本文介绍了Kubernetes中的QoS(服务质量)概念、资源配额(ResourceQuota)、资源限制(LimitRange)、污点(Taint)和容忍(Toleration)、拓扑域(Topology)、亲和性(Affinity)等概念以及它们的配置和使用。 1. QoS:Kubernetes使用QoS来决定Pod的调度和驱逐策略,包含Guaranteed、Burstable和BestEffort三个级别。 2. ResourceQuota:用于限制命名空间内的资源使用量,如CPU、内存、存储等。 3. LimitRange:在命名空间中实施对每个Pod或Container的资源使用量限制。 4. Taint和Toleration:Taint用于给节点设置污点,Toleration用于让Pod容忍节点的污点。 5. Topology:定义了Pod部署的拓扑域,如节点、机柜、机房或地区。 6. Affinity:用于指定Pod与节点或其他Pod之间的亲和性或反亲和性。 文中通过具体配置和例子展示了如何在Kubernetes中设置和使用这些资源管理和调度策略,确保集群内资源的合理使用和Pod的正确调度。这些策略有助于优化Kubernetes集群的性能和资源利用率。
2022-05-10
138
0
0
云原生
Kubernetes
2022-05-10
通过阿里云容器镜像服务下载gcr.io镜像
摘要: 本文介绍了如何通过阿里云容器镜像服务下载被墙的 Kubernetes(k8s)集群部署所需的镜像。由于在国内访问 Google Container Registry(gcr.io)会被墙,导致无法正常下载镜像,从而无法完成集群的安装。文章提供了一种解决方案,即通过阿里云容器镜像服务免费下载这些镜像。具体步骤包括在 GitHub 上创建 repository 并上传所需的 Dockerfiles,然后在阿里云容器镜像服务中创建镜像仓库并选择代码源进行构建。通过这种方式,可以成功下载被墙的镜像并用于部署 k8s 集群。文章总结了整个过程的操作步骤和注意事项,为读者提供了实用的参考。
2022-05-10
89
0
0
云原生
Kubernetes
2022-05-10
服务器配置选型及网段划分
这篇文章主要介绍了服务器配置选型以及网段划分在Kubernetes(k8s)集群安装中的应用。首先,文章介绍了不同环境下服务器配置的选择,包括学习环境、实战环境、企业测试环境和企业生产环境的不同需求。接着,文章详细阐述了网段划分的重要性,解释了集群安装时会涉及的三个网段:宿主机网段、Pod网段和Service网段,并强调了这三个网段不能有任何交叉,以避免网络冲突。在选择网段时,可以根据宿主机的IP地址来选择适合的网段,同时要注意避免网络交叉。整篇文章结构清晰,内容详实,为搭建Kubernetes集群提供了有价值的参考。
2022-05-10
119
0
0
云原生
Kubernetes
1
2
3
4