forked from barryclark/jekyll-now
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
391 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
--- | ||
layout: post | ||
title: GitHub 开源项目 hashicorp/consul 介绍,Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. | ||
tags: Go | ||
--- | ||
|
||
大家好,又见面了,我是 GitHub 精选君! | ||
|
||
###### 背景介绍 | ||
|
||
今天要给大家推荐一个 GitHub 开源项目 hashicorp/consul,该项目在 GitHub 有超过 27.9k Star。 | ||
|
||
![](https://stats.deeptrain.net/repo/hashicorp/consul/?theme=light) | ||
|
||
一句话介绍该项目:Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. | ||
|
||
|
||
|
||
|
||
![](https://raw.githubusercontent.com/hashicorp/consul/master/./website/public/img/logo.svg) | ||
|
||
|
||
###### 项目介绍 | ||
|
||
### 背景介绍 | ||
随着云计算和微服务架构的兴起,企业面临着越来越分散和动态变化的基础设施管理挑战。在这种情境下,确保服务间高效、安全地通信、及时发现服务并对其进行配置成为了一项关键需求。同时,跨数据中心的扩展性与稳定性、服务的健康检查和动态配置也变得至关重要。但是,传统的服务发现和配置管理工具往往不能很好地适应这种分布式、多变的环境,从而导致服务间的连接和配置出现了高延迟、低可靠性等问题。 | ||
|
||
### | ||
|
||
![](https://raw.githubusercontent.com/ZhuPeng/pic/master/mac/compress_tmp-8166a5ada674ffb178c1381a03e5e2fe.png) | ||
|
||
项目介绍 | ||
**Consul** 是一个为动态分布式基础设施设计的高可用、数据中心感知型解决方案,旨在连接和配置跨动态分布式基础设施的应用程序。Consul 提供了一系列关键特性,包括跨数据中心的支持、服务网格、API 网关、服务发现、健康检查以及动态应用配置等。 | ||
|
||
Consul 的设计亮点如下: | ||
|
||
- **多数据中心支持**:Consul 能够意识到数据中心并支持任意数量的区域,无需复杂配置。 | ||
- **服务网格**:通过自动 TLS 加密和基于身份的授权,Consul 服务网格使得服务之间的安全通信变得可能。应用程序可以在服务网格配置中使用 Sidecar 代理,为入站和出站连接建立 TLS 连接。 | ||
- **API 网关**:Consul 的 API 网关管理访问服务网格内的服务,允许用户定义流量和授权策略。 | ||
- **服务发现**:Consul 简化了服务的自我注册和其他服务的发现过程,支持通过 DNS 或 HTTP 接口进行。 | ||
- **健康检查**:健康检查功能使 Consul 能够快速告警集群中的任何问题,与服务发现整合,防止将流量路由到不健康的主机。 | ||
|
||
Consul 可运行于 Linux、macOS、FreeBSD、Solaris 和 Windows 平台,并包括一个可选的基于浏览器的 UI。同时,还提供了名为 **Consul Enterprise** 的商业版本。 | ||
|
||
### 如何使用 | ||
Consul 的安装和使用过程简洁明了,以下提供几个快速入门指南: | ||
|
||
- **Standalone binary install**:[安装指南](https://learn.hashicorp.com/collections/consul/get-started-vms) | ||
- **Minikube install**:[安装指南](https://learn.hashicorp.com/tutorials/consul/kubernetes-minikube) | ||
- **Kind install**:[安装指南](https://learn.hashicorp.com/tutorials/consul/kubernetes-kind) | ||
- **Kubernetes install**:[安装指南](https://learn.hashicorp.com/tutorials/consul/kubernetes-deployment-guide) | ||
- **Deploy HCP Consul**:[安装指南](https://learn.hashicorp.com/tutorials/consul/hcp-gs-deploy) | ||
|
||
使用文档和更全面的指南可以在 Consul 的官网查阅。 | ||
|
||
### 项目推介 | ||
Consul 由 **HashiCorp**——云基础设施自动化的领导者——开发和维护。项目保持着高活跃的开发状态,并且由于其出色的功能和强大的适应性,已被许多知名公司和组织采用,以解决他们的服务发现与配置问题。Consul 的安全性得到了开发者的高度重视,对于任何安全问题,团队都会迅速响应。此外,Consul 还拥有一个广泛的社区,为用户提供了大量的资源和支持。 | ||
|
||
如果您正在寻找一个可靠、高效且易于扩展的解决方案,来管理跨动态分布式基础设施的应用程序连接和配置,Consul 是您不二的选择。立即加入全球成千上万的开发者,开始您的 Consul 之旅! | ||
|
||
以下是该项目 Star 趋势图(代表项目的活跃程度): | ||
|
||
![](https://api.star-history.com/svg?repos=hashicorp/consul&type=Timeline) | ||
|
||
更多项目详情请查看如下链接。 | ||
|
||
开源项目地址:https://github.com/hashicorp/consul | ||
|
||
开源项目作者:hashicorp | ||
|
||
开源协议: | ||
|
||
以下是参与项目建设的所有成员: | ||
|
||
![](https://contrib.rocks/image?repo=hashicorp/consul) | ||
|
||
关注我们,一起探索有意思的开源项目。 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
--- | ||
layout: post | ||
title: GitHub 开源项目 rancher/rancher 介绍,Complete container management platform | ||
tags: Go | ||
--- | ||
|
||
大家好,又见面了,我是 GitHub 精选君! | ||
|
||
###### 背景介绍 | ||
|
||
今天要给大家推荐一个 GitHub 开源项目 rancher/rancher,该项目在 GitHub 有超过 22.6k Star。 | ||
|
||
![](https://stats.deeptrain.net/repo/rancher/rancher/?theme=light) | ||
|
||
一句话介绍该项目:Complete container management platform | ||
|
||
|
||
|
||
|
||
|
||
###### 项目介绍 | ||
|
||
### 背景介绍 | ||
|
||
随着容器技术的快速发展,越来越多的组织开始采用容器来部署他们的应用程序。容器为开发和运维团队提供了前所未有的灵活性和效率,但同时也带来了管理和维护上的挑战。在生产环境中部署容器时,组织需要处理集群管理、服务发现、负载均衡、安全性、日志记录和监控等复杂问题。这些问题的复杂性增加了 IT 团队的工作负担,并降低了 DevOps 团队的效率。 | ||
|
||
### | ||
|
||
![](https://raw.githubusercontent.com/ZhuPeng/pic/master/mac/compress_tmp-ae71a0e5df1e844cbff33ab456854ed6.png) | ||
|
||
项目介绍 | ||
|
||
Rancher 是一个开源的容器管理平台,专为在生产环境中部署容器的组织设计。它简化了 Kubernetes 的使用,满足 IT 需求,同时赋能 DevOps 团队。Rancher 提供了多样的功能,包括但不限于集群管理、服务发现、自动负载均衡、集成安全机制、日志和监控。此外,Rancher 的设计关注于易用性和灵活性,支持在任何地方运行 Kubernetes,无论是本地数据中心、公有云还是混合云环境。 | ||
|
||
### 如何使用 | ||
|
||
Rancher 的安装非常简单,可以通过简单的 Docker 命令来进行: | ||
|
||
```bash | ||
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher | ||
``` | ||
|
||
完成安装后,只需要打开浏览器访问 https://localhost 就能访问 Rancher 的界面进行接下来的配置和使用。 | ||
|
||
关于更详细的安装选项和过程,可以参考 Rancher 的官方安装文档:https://ranchermanager.docs.rancher.com/v2.8/pages-for-subheaders/installation-and-upgrade | ||
|
||
### 项目推介 | ||
|
||
Rancher 已经发展成为一个成熟且受到广泛认可的容器管理平台。最新版本为 v2.8.3,展现了项目的活跃与进步。Rancher 不仅由 Rancher Labs, Inc. 精心维护,而且得到了广泛的社区支持和贡献。它是许多知名公司和组织的首选容器管理平台。由于其开放性、高度集成的生态系统和灵活性, Rancher 已经帮助数以万计的 DevOps 团队简化了他们的容器管理流程,加速了他们的开发周期。 | ||
|
||
此外,Rancher 的官方论坛和 Slack 频道为用户提供了一个活跃的社区支持平台,用户可以在这里获得帮助、分享经验 或提出功能请求。这种强大的社区背景,加上它丰富的功能和灵活的使用场景,使得 Rancher 成为了当前市场上不可多得的优秀容器管理工具。无论你是一个正在寻找有效容器管理解决方案的企业,还是一个希望学习 Kubernetes 并将其应用于实践的开发者,Rancher 都是你理想的选择。 | ||
|
||
以下是该项目 Star 趋势图(代表项目的活跃程度): | ||
|
||
![](https://api.star-history.com/svg?repos=rancher/rancher&type=Timeline) | ||
|
||
更多项目详情请查看如下链接。 | ||
|
||
开源项目地址:https://github.com/rancher/rancher | ||
|
||
开源项目作者:rancher | ||
|
||
开源协议: | ||
|
||
以下是参与项目建设的所有成员: | ||
|
||
![](https://contrib.rocks/image?repo=rancher/rancher) | ||
|
||
关注我们,一起探索有意思的开源项目。 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
--- | ||
layout: post | ||
title: GitHub 开源项目 minio/minio 介绍,The Object Store for AI Data Infrastructure | ||
tags: Go | ||
--- | ||
|
||
大家好,又见面了,我是 GitHub 精选君! | ||
|
||
###### 背景介绍 | ||
|
||
今天要给大家推荐一个 GitHub 开源项目 minio/minio,该项目在 GitHub 有超过 44.8k Star。 | ||
|
||
![](https://stats.deeptrain.net/repo/minio/minio/?theme=light) | ||
|
||
一句话介绍该项目:The Object Store for AI Data Infrastructure | ||
|
||
|
||
|
||
|
||
![Slack](https://slack.min.io/slack?type=svg) | ||
|
||
![MinIO](https://raw.githubusercontent.com/minio/minio/master/.github/logo.svg?sanitize=true) | ||
|
||
![Dashboard](https://github.com/minio/minio/blob/master/docs/screenshots/pic1.png?raw=true) | ||
|
||
![Dashboard](https://github.com/minio/minio/blob/master/docs/screenshots/pic2.png?raw=true) | ||
|
||
|
||
###### 项目介绍 | ||
|
||
背景介绍: | ||
在当今数字化时代,数据成为了企业和个人最宝贵的资产之一。从图片和视频到机器学习模型、应用程序数据,我们每天都在创造和消费大量的数据。然而,随之而来的是对高效、可靠的数据存储方案的巨大需求,特别是在人工智能(AI)和大数据分析等领域。例如,机器学习项目需要存取大量的训练数据,企业需要储存海量的用户数据并保证数据的安全、高效访问。传统存储方案往往难以应对这种规模的数据处理需求,尤其是在性能、扩展性和兼容性方面。因此,开发者和企业都在寻求更加灵活、高效且成本效益高的解决方案。 | ||
|
||
|
||
|
||
![](https://raw.githubusercontent.com/ZhuPeng/pic/master/mac/compress_tmp-3c6138b8345f1e72dbc526d0d76b4cbc.png) | ||
|
||
项目介绍: | ||
MinIO 是一个高性能的对象存储服务,遵循 GNU Affero General Public License v3.0 发布。它与 Amazon S3 云存储服务兼容,致力于为机器学习、分析和应用数据工作负载构建高性能基础设施。MinIO 可以部署在裸金属硬件上,包括容器化安装,对于 Kubernetes 环境,则推荐使用 MinIO Kubernetes Operator 。MinIO 支持分布式部署、纠删码存储以及多种企业级功能如版本控制、对象锁定和桶复制。 | ||
|
||
如何使用: | ||
- 容器安装: | ||
要以容器方式运行 MinIO 服务,用户可以使用以下命令启动最新稳定版本的 MinIO : | ||
```sh | ||
podman run -p 9000:9000 -p 9001:9001 \ | ||
quay.io/minio/minio server /data --console-address ":9001" | ||
``` | ||
MinIO 默认使用 `minioadmin:minioadmin` 作为根凭证,用户可以通过浏览器访问 MinIO 控制台来测试部署,进行创建桶、上传对象等操作。 | ||
|
||
- macOS 上的安装推荐使用 Homebrew: | ||
```sh | ||
brew install minio/stable/minio | ||
minio server /data | ||
``` | ||
|
||
- 在 GNU/Linux 上安装(以 64 位 Intel/AMD 架构为例): | ||
```sh | ||
wget https://dl.min.io/server/minio/release/linux-amd64/minio | ||
chmod +x minio | ||
./minio server /data | ||
``` | ||
|
||
项目推介: | ||
MinIO 以其高性能、高可靠性和强大的兼容性成为了大数据和 AI 数据基础设施的理想选择。它不仅适合于早期开发和评估,更适用于扩展的开发和生产环境。MinIO 以开源的方式发布,拥有活跃的开发社区和丰富的文档支持,被全球众多企业和开发者广泛使用。同时,MinIO 的创始人和维护团队在业内享有盛誉,定期发布更新并不断引入新功能,确保了项目的持续进步和适应未来技术的发展。无论是小型项目还是大规模企业级应用,MinIO 都能提供稳定、可靠的对象存储解决方案,助力业务的成长与创新。 | ||
|
||
以下是该项目 Star 趋势图(代表项目的活跃程度): | ||
|
||
![](https://api.star-history.com/svg?repos=minio/minio&type=Timeline) | ||
|
||
更多项目详情请查看如下链接。 | ||
|
||
开源项目地址:https://github.com/minio/minio | ||
|
||
开源项目作者:minio | ||
|
||
开源协议: | ||
|
||
以下是参与项目建设的所有成员: | ||
|
||
![](https://contrib.rocks/image?repo=minio/minio) | ||
|
||
关注我们,一起探索有意思的开源项目。 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
--- | ||
layout: post | ||
title: GitHub 开源项目 aws/karpenter-provider-aws 介绍,Karpenter is a Kubernetes Node Autoscaler built for flexibility, performance, and simplicity. | ||
tags: Go | ||
--- | ||
|
||
大家好,又见面了,我是 GitHub 精选君! | ||
|
||
###### 背景介绍 | ||
|
||
今天要给大家推荐一个 GitHub 开源项目 aws/karpenter-provider-aws,该项目在 GitHub 有超过 6.0k Star。 | ||
|
||
![](https://stats.deeptrain.net/repo/aws/karpenter-provider-aws/?theme=light) | ||
|
||
一句话介绍该项目:Karpenter is a Kubernetes Node Autoscaler built for flexibility, performance, and simplicity. | ||
|
||
|
||
|
||
|
||
![](https://raw.githubusercontent.com/aws/karpenter-provider-aws/master/website/static/banner.png) | ||
|
||
|
||
###### 项目介绍 | ||
|
||
### 背景介绍 | ||
在多云和自动化技术日益成熟的当下,Kubernetes 作为容器编排的事实标准,其在企业级部署中的地位日益重要。然而,随着集群规模的扩大和应用负载的波动,如何高效、成本友好地管理节点资源成为了运维团队面临的一个重大挑战。传统的节点扩缩容策略往往不能完美适应复杂多变的业务需求,既需保证业务的高可用性,又要避免资源的浪费,这就需要一个更加智能、灵活的解决方案。 | ||
|
||
### | ||
|
||
![](https://raw.githubusercontent.com/ZhuPeng/pic/master/mac/compress_tmp-a04bc6fad94372db10161ac8279b8e28.png) | ||
|
||
项目介绍 | ||
**Karpenter** 是 AWS 开源的一个针对 Kubernetes 的节点自动扩缩容项目,旨在以灵活性、性能和简洁性为核心,提供一个高效且成本优化的节点管理方案。Karpenter 的工作原理包含如下几个关键步骤: | ||
|
||
- **监控** Kubernetes 调度器标记为不可调度的 Pod。 | ||
- **评估** Pod 请求的调度约束(资源请求、节点选择器、亲和性、容忍度和拓扑扩散约束)。 | ||
- **供应** 满足 Pod 要求的节点。 | ||
- **移除** 不再需要的节点。 | ||
|
||
通过这种方式,Karpenter 能够优化工作负载在 Kubernetes 集群上的效率和成本。 | ||
|
||
### 如何使用 | ||
要在您的 Kubernetes 集群上使用 Karpenter,请遵循以下简化步骤: | ||
|
||
1. 访问 [Karpenter 文档](https://karpenter.sh/docs/),了解详细安装指南和先决条件。 | ||
2. 根据文档指南在集群中部署 Karpenter 控制器。 | ||
3. 配置您的 Kubernetes 集群以使用 Karpenter 作为节点供应器。 | ||
4. 观察 Karpenter 如何根据工作负载需求自动调整集群节点。 | ||
|
||
```shell | ||
# 示例:安装 Karpenter(详细安装步骤请参考官方文档) | ||
kubectl apply -f https://github.com/aws/karpenter/releases/latest/download/karpenter.yaml | ||
``` | ||
|
||
### 项目推介 | ||
Karpenter 已经成为 Kubernetes 集群管理不可或缺的工具之一,它不仅得到了 AWS 的强力推动,还拥有活跃的开发社区,持续的特性更新和问题解决保障了其前沿性和稳定性。此外,Karpenter 在过去的一些技术会议和社区活动中有着亮眼的表现,如 Kubecon、AWS 容器日等,其实用性、高效性和节省成本的优势得到了业界的广泛认可。 | ||
|
||
如果您正在寻找一个灵活高效、能够自动优化 Kubernetes 集群节点资源利用的解决方案,Karpenter 绝对值得您的关注。无论是小规模项目还是大型企业级部署,Karpenter 都能助您一臂之力,实现资源的最优配置。 | ||
|
||
以下是该项目 Star 趋势图(代表项目的活跃程度): | ||
|
||
![](https://api.star-history.com/svg?repos=aws/karpenter-provider-aws&type=Timeline) | ||
|
||
更多项目详情请查看如下链接。 | ||
|
||
开源项目地址:https://github.com/aws/karpenter-provider-aws | ||
|
||
开源项目作者:aws | ||
|
||
开源协议: | ||
|
||
以下是参与项目建设的所有成员: | ||
|
||
![](https://contrib.rocks/image?repo=aws/karpenter-provider-aws) | ||
|
||
关注我们,一起探索有意思的开源项目。 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
--- | ||
layout: post | ||
title: GitHub 开源项目 uptrace/bun 介绍,SQL-first Golang ORM | ||
tags: Go | ||
--- | ||
|
||
大家好,又见面了,我是 GitHub 精选君! | ||
|
||
###### 背景介绍 | ||
|
||
今天要给大家推荐一个 GitHub 开源项目 uptrace/bun,该项目在 GitHub 有超过 3.3k Star。 | ||
|
||
![](https://stats.deeptrain.net/repo/uptrace/bun/?theme=light) | ||
|
||
一句话介绍该项目:SQL-first Golang ORM | ||
|
||
|
||
|
||
|
||
![Chat](https://discordapp.com/api/guilds/752070105847955518/widget.png) | ||
|
||
![](https://contributors-img.web.app/image?repo=uptrace/bun) | ||
|
||
|
||
###### 项目介绍 | ||
|
||
在当今的软件开发过程中,数据处理一直是一个核心环节,尤其是与数据库的交互。Golang 作为一种高效、静态类型的编程语言,在云原生、微服务等领域深受欢迎。然而,直接使用 Golang 进行数据库操作往往涉及繁琐的代码编写,包括构建 SQL 查询、结果的映射等,增加了开发复杂性和出错几率。 | ||
|
||
针对上述问题,[**Bun**](https://github.com/uptrace/bun) 应运而生。**Bun** 是一个 SQL-first 的 Golang ORM(对象关系映射),支持 PostgreSQL、MySQL(包括 MariaDB)、MSSQL 和 SQLite。它提供了 ORM 类似的体验,同时又不失去 SQL 的灵活性。**Bun** 主要特点包括支持结构体、映射、标量及其切片的操作;批量插入、更新和删除;数据迁移、软删除等功能。这些特性使得 **Bun** 成为 Golang 开发者处理数据库操作的强有力工具。 | ||
|
||
使用 **Bun** 十分简单。首先需要通过 `go get` 命令安装: | ||
|
||
```shell | ||
go get github.com/uptrace/bun | ||
``` | ||
|
||
接着,可以编写如下代码来执行复杂查询并映射结果: | ||
|
||
```go | ||
db := bun.NewDB(...) | ||
|
||
regionalSales := db.NewSelect(). | ||
ColumnExpr("region"). | ||
ColumnExpr("SUM(amount) AS total_sales"). | ||
TableExpr("orders"). | ||
GroupExpr("region") | ||
|
||
var items []map[string]interface{} | ||
err := db.NewSelect(). | ||
With("regional_sales", regionalSales). | ||
ColumnExpr("region"). | ||
ColumnExpr("product"). | ||
ColumnExpr("SUM(quantity) AS product_units"). | ||
TableExpr("orders"). | ||
GroupExpr("region"). | ||
GroupExpr("product"). | ||
Scan(ctx, &items) | ||
``` | ||
|
||
通过上述示例,可以看到 **Bun** 如何通过优雅的代码设计来简化复杂查询和结果映射过程,显著提高开发效率。 | ||
|
||
此外,**Bun** 并不孤立于开发生态,它由著名的开源公司 [uptrace](https://github.com/uptrace/uptrace) 提供支持,同时也被多个知名项目采用,例如:在线协作工具 scrumlr.io、分布式追踪和指标平台 uptrace、Kubernetes 访问管理器 paralus 等。这不仅证明了 **Bun** 的实用性,也表示它拥有一个活跃的开发生态和社区支持。 | ||
|
||
总的来说,无论是项目的活跃开发状态、背后的知名支持还是众多的知名项目使用案例,都强烈推荐给对 Golang 和数据处理感兴趣的开发者关注和使用 **Bun**。通过它,你将在 Golang 的世界里享受到更高效、更优雅的数据操作体验。 | ||
|
||
以下是该项目 Star 趋势图(代表项目的活跃程度): | ||
|
||
![](https://api.star-history.com/svg?repos=uptrace/bun&type=Timeline) | ||
|
||
更多项目详情请查看如下链接。 | ||
|
||
开源项目地址:https://github.com/uptrace/bun | ||
|
||
开源项目作者:uptrace | ||
|
||
开源协议: | ||
|
||
以下是参与项目建设的所有成员: | ||
|
||
![](https://contrib.rocks/image?repo=uptrace/bun) | ||
|
||
关注我们,一起探索有意思的开源项目。 | ||
|