青蛙小白
#Kubernetes

重学k8s: 06.Kubernetes资源对象之Namespace

前面一节介绍了使用Kubernetes API就是查询和操纵Kubernetes API中的资源对象。本节将学习第一个资源对象Namespace。 很多公司可能都会维护一个规模很大的K8S集群,可能有几百乃至成千上万台机器,这个K8S集群同时要为公司内部的不同部门、不同的业务提供服务,为了隔离区分各部门各业务对集群的使用,需要有一个"虚拟集群"的概念,即namespace。 k8s支持多个虚拟集群,它们依赖于同一个物理集群,这些虚拟集群就是namespace。

#Openresty

在MacOS上安装OpenResty的开发环境

OpenResty是一个基于 Nginx与 Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。 用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web 服务和动态网关。Nginx及其模块是使用C语言开发的,为了能够在Nginx之上写业务代码,需要借助OpenResty在Nginx上Lua语言开发业务逻辑。 Lua是单线程多协程(coroutine)的并发模型,与Nginx的多进程单线程+多路IO复用的并发事件驱动模型很配。本文将学习在MacOS下搭建OpenResty的开发环境。

#Kubernetes

重学k8s: 03.Kubernetes集群的几种部署方式及如何选择

通过上节内容,学习了Kubernetes自己就是一个大型的分布式系统,Kubernetes集群的包含众多组件。集群中的服务器节点分为control-plane节点和node节点. control-plane节点上需要部署kube-apiserver、kube-controller-manager、kube-scheduler组件。 node节点上需要部署kubelet、kube-proxy组件,另外还需要在node节点上部署实现了CRI的容器运行时(如: Containerd, CRI-O)。 还需要部署一套etcd集群作为k8s集群的存储数据库,kube-apiserver使用etcd存储整个集群的状态。 最后还需要在k8s集群中部署一些扩展组件(Addons)包含: 网络和网络策略插件(如Calico)、服务发现插件(如CoreDNS)、可视化管理插件(如Kubernetes Dashboard),才能让整个k8s集群的功能对外可用。

#Kubernetes

重学k8s: 02.Kubernetes集群的组成及核心组件

上节学习了k8s是什么以及k8s的核心特性。 k8s是一个用于自动部署,扩展和管理容器化应用程序的开源系统,它的核心功能包括: 自动化上线和回滚、服务发现与负载均衡、存储编排、Secret和配置管理、自动装箱、批量执行、IPv4/IPv6 双协议栈、水平扩缩容、自我修复、为扩展性设计。本节将介绍Kubernetes集群的组成及核心组件。

#Prometheus

如何手动删除Prometheus中指定的指标数据

Prometheus是一个基于时序数据库的开源监控系统。 Prometheus在2016年加入了CNCF(云原生计算基金会),成为继Kubernetes之后CNCF的第二个托管项目。 Prometheus HTTP API Prometheus的监控指标数据metrics存储在其内置的时序数据库中,即其本身也是一个时序数据库,但目前Prometheus还没有提供直接管理数据的功能,默认情况下只能通过Promtheus的HTTP API查看数据。文档https://prometheus.io/docs/prometheus/latest/querying/api/中是对Prometheus查询API的介绍。其实Prometheus的WebUI使用的就是它的HTTP API,因此在运维开发中如果需要使用Prometheus的HTTP API的话,可以先在Prometheus的WebUI中写好PromQL执行查询,然后借助浏览器的开发者工具查看具体的HTTP API的写法。