Blog

在MacOS上安装OpenResty的开发环境

2021-08-10
Openresty

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

...

使用kubeadm部署Kubernetes 1.22

2021-08-08
Kubernetes

kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。

...

重学k8s: 05.认识Kubernetes的API

2021-08-06
Kubernetes

K8S的API和API资源对象 #

通过前面几节的学习,我们已经知道k8s集群中控制平面节点(control-plane)上的核心组件时kube-apiserver。 kube-apiserver是集群控制管理、资源配置、安全机制的入口,提供了HTTP API服务,以供终端用户、集群内部的组件和服务、集群外部组件相互通信。

...

重学k8s: 04.Kubernetes集群高可用解析

2021-08-05
Kubernetes

上一节学习了Kubernetes集群的几种部署方式,推荐在生产环境使用二进制部署的方案。 使用二进制部署的最佳实践是,参考kubeadm对k8s集群的配置管理实践,开发一套ansible playbook,实现二进制k8s集群的自动化部署和配置管理。 本节将讨论一下这套二进制部署方案如何实现集群的高可用。

...

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

2021-08-04
Kubernetes

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

...

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

2021-08-03
Kubernetes

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

...

重学k8s: 01.什么是Kubernetes

2021-08-02
Kubernetes

Kubernetes的定义 #

引用Kubernetes官方网站上的定义:

Kubernetes是一个用于自动部署,扩展和管理容器化应用程序的开源系统。Kubernetes将多个容器组成一个逻辑单元以便于管理和服务发现。 Kubernetes源自Google内部十五年的生产环境运维经验,同时凝聚了社区的最佳创意和实践。

...

istio 1.10学习笔记14: 使用istio实现http服务的JWT身份认证

2021-08-01
Istio

前面一节初步学习了istio安全管理功能中的认证策略,并使用认证策略配置了服务之间的双向TLS,使用认证策略对暴露到集群外部的http服务开启了基于JWT的终端用户认证。本节将对上节配置JWT终端用户认证时用到一些JWT相关知识做一个补充学习。

...

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

2021-08-01
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的写法。

...

重学容器32: 理解容器文件系统OverlayFS

2021-07-31
Containerd

前面在第9节"Containerd是如何存储容器镜像和数据的"中介绍了,containerd的snapshotter的主要作用就是通过mount各个层为容器准备rootfs。containerd默认配置的snapshotter是overlayfs,overlayfs是联合文件系统的一种实现。 overlayfs将只读的镜像层成为lowerdir,将读写的容器层成为upperdir,最后联合挂载呈现出mergedir。

...

© 2024 青蛙小白