
📅 2021-10-23
K3s简介
#
K3s是一个轻量级的Kubernetes发行版,它针对边缘计算、物联网等场景进行了高度优化。
K3s做了以下功能:
- 将众多k8s组件打包成单个二进制文件,以简化部署,通过封装在简单的启动程序自动处理很多复杂的TLS配置,使K3s具有自动化和管理包括证书分发在内的复杂集群操作的能力
- 默认使用轻量级别的存储后端sqlite3,同时又支持使用etcd3, MySQL, PostgreSQL作为存储后端
- 默认提供的配置适用于轻量级场景且默认的配置是安全的
- 默认安装集成了很多实用功能和组件,如
local-path-provisioner
, metrics-server
, traefik ingress controller
运行K3s所需的资源相对较少,因此K3s适用于边缘计算、物联网等场景,当然也适用于开发和测试场景,使用K3s不仅能够缩短启动集群的时间,还能够减少集群需要消耗的资源。
...📅 2021-10-22
从分布式系统的部署和管理角度来看,大多数分布式系统都将集群作为的最高级别抽象,如果涉及到跨地域部署时会在不同地域部署多个集群,但这需要将每个集群视为独立的系统进行配置和管理。
Pulsar提供了一个比Pulsar Cluster(Pulsar集群)
更高级别的抽象,叫Pulsar Instance(Pulsar实例)
。一个Pulsar Instance由多个Pulsar Cluster组成,一个Pulsar实例中的集群之间可以相互跨地域复制数据。
Pulsar Instance作为一个唯一的单元,可以从各地域中的一个位置统一管理。
...📅 2021-10-21
Apache Pulsar简介
#
Apache Pulsar是一个支持多租户的、高性能的、分布式的Pub-Sub消息系统,最初由雅虎开发,现在是Apache软件基金会的顶级项目。
Pulsar提供非常低的消息发布和端到端的延迟、保障消息可靠传递零丢失,同时提供了一个用于流数据处理的无服务器轻量级计算框架。
...📅 2021-10-20
Delve是一个使用Go语言开发的专门用于Go语言的调试工具。Delve项目的地址是https://github.com/go-delve/delve,
这个项目的目标是为Go提供一个简单的、功能齐全、易于调用和使用的调试器。当前Go语言支持GDB、LLDB、Delve三种调试工具,LLDB是MacOS系统推荐的,已经成为了XCode默认调试器,但GDB和LLDB对Go的支持比不上Delve这个专门为Go设计和开发的调试工具。
Goland
和Go for Visual Studio Code
这种集成开发环境的调试功能也都是集成了delve的。
本文将学习Delve命令行的基本使用。
...📅 2021-09-28
Apache Doris是一个支持对海量大数据进行快速分析的MPP数据库。MPP即(Massively Parallel Processing)大规模并行处理,简单的理解就是将任务并行的分散到多个服务器节点上,在每个节点上计算完成后,再将各部分结果汇总到一起得到最终的结果。
Apache Doris就是一个大规模并行分析(Analytical Massively Parallel Processing ) MPP数据库。本文将介绍Apache Doris ODBC External Table的配置和使用。
...📅 2021-09-10
前面一节介绍了使用Kubernetes API就是查询和操纵Kubernetes API中的资源对象。本节将学习第一个资源对象Namespace。
很多公司可能都会维护一个规模很大的K8S集群,可能有几百乃至成千上万台机器,这个K8S集群同时要为公司内部的不同部门、不同的业务提供服务,为了隔离区分各部门各业务对集群的使用,需要有一个"虚拟集群"的概念,即namespace。
k8s支持多个虚拟集群,它们依赖于同一个物理集群,这些虚拟集群就是namespace。
...📅 2021-08-10
OpenResty是一个基于 Nginx与 Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。
用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web 服务和动态网关。Nginx及其模块是使用C语言开发的,为了能够在Nginx之上写业务代码,需要借助OpenResty在Nginx上Lua语言开发业务逻辑。
Lua是单线程多协程(coroutine)的并发模型,与Nginx的多进程单线程+多路IO复用的并发事件驱动模型很配。本文将学习在MacOS下搭建OpenResty的开发环境。
...📅 2021-08-08
kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
...📅 2021-08-06
K8S的API和API资源对象
#
通过前面几节的学习,我们已经知道k8s集群中控制平面节点(control-plane)上的核心组件时kube-apiserver
。
kube-apiserver是集群控制管理、资源配置、安全机制的入口,提供了HTTP API服务,以供终端用户、集群内部的组件和服务、集群外部组件相互通信。
...📅 2021-08-05
上一节学习了Kubernetes集群的几种部署方式,推荐在生产环境使用二进制部署的方案。
使用二进制部署的最佳实践是,参考kubeadm对k8s集群的配置管理实践,开发一套ansible playbook,实现二进制k8s集群的自动化部署和配置管理。
本节将讨论一下这套二进制部署方案如何实现集群的高可用。
...