Skip to content

Commit

Permalink
Merge pull request #880 from zzzhangqi/240924
Browse files Browse the repository at this point in the history
feat: upgrade version to 2.4.3 and change some files
  • Loading branch information
zzzhangqi authored Sep 26, 2024
2 parents 534186d + 714fe3c commit cfd6604
Show file tree
Hide file tree
Showing 169 changed files with 3,743 additions and 3,639 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
5 changes: 0 additions & 5 deletions blog/2021-12-27-maxkey.md → blog/2021/2021-12-27-maxkey.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,3 @@ MaxKey单点登录认证系统谐音为马克思的钥匙,寓意是最大钥
* 进入 MaxKey认证服务中,点击`禅道项目管理`,即可跳转至禅道页面并自动登录。

![](https://static.goodrain.com/images/maxkey-zentao.gif)


> 如需应用入驻,请联系张经理:18701654470

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
75 changes: 75 additions & 0 deletions blog/2024/2024-05-30-topiam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: Rainbond 携手 TOPIAM 打造企业级云原生身份管控新体验
description: TOPIAM 企业数字身份管控平台, 是一个开源的IDaas/IAM平台、用于管理账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。
slug: topiam
---

TOPIAM 企业数字身份管控平台, 是一个开源的IDaas/IAM平台、用于管理账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。

传统企业 IT 采用烟囱式建设方式,容易带来以下挑战:

* 应用授权管理混乱,容易发生安全问题,导致数据外泄。
* 身份认证安全存疑,敏感系统缺乏严格的身份认证机制。
* 各系统独立建设账号体系、权限体系,账号权限分配等此类管理操作低效、重复、价值低,账户分散管理风险大、不可控。员工需要记多套账号密码。

TOPIAM 企业数字身份管控平台提供一套集中式的账号、权限、认证、审计工具,帮助打通身份数据孤岛,实现“一个账号、一次认证、多点通行”的效果,强化企业安全体系的同时,提升组织管理效率,助力企业数字化升级转型。

## 使用 Rainbond 部署 TOPIAM

Rainbond 是一个云原生应用管理平台,核心100%开源,Serverless体验,不需要懂K8s也能轻松管理容器化应用,平滑无缝过渡到K8s,是国内首个支持国产化信创、适合私有部署的一体化应用管理平台。

首先[安装 Rainbond](https://www.rainbond.com/docs/quick-start/quick-install) 或使用以下命令安装 Rainbond

```bash
curl -o install.sh https://get.rainbond.com && bash ./install.sh
```

登录 Rainbond 后,选择从`应用市场`安装应用,在搜索框中搜索 `topiam`,点击安装按钮。

![](https://static.goodrain.com/wechat/topiam/9.png)

点击安装后,等待 TOPIAM 所有组件自动启动,部署后拓扑图如下:

* 管理端(eiam-console)
* 门户端(eiam-portal)
* OpenAPI(eiam-openapi)

![](https://static.goodrain.com/wechat/topiam/10.png)

点击访问按钮,访问`管理端`组件的对外服务地址,默认账号密码 `admin/topiam.cn`。用户端登录需要在管理端中创建账号再登录,更多请参阅[TOPIAM文档](https://topiam.cn/docs/introduction/)

## TOPIAM能做什么?

提供统一组织信息管理,多维度建立对应关系,实现在一个平台对企业人员、组织架构、应用信息的高效统一管理。

![](https://static.goodrain.com/wechat/topiam/1.png)

支持钉钉、飞书等身份源集成能力,实现系统和企业 OA 平台数据联动,以用户为管理基点,结合入职、离职、调岗、兼职等人事事件,关联其相关应用权限变化而变化,保证应用访问权限的安全控制。

![](https://static.goodrain.com/wechat/topiam/2.png)

支持微信、微博、QQ 等社交认证集成,使企业具有快速纳入互联网化认证能力。

![](https://static.goodrain.com/wechat/topiam/3.png)

支持 OIDC、OAuth2、SAML2、CAS、JWT、表单代填等认证协议及机制,实现单点登录功能。

![](https://static.goodrain.com/wechat/topiam/4.png)

完善的安全审计,详尽记录每一次用户行为,使每一步操作有据可循,实时记录企业信息安全状况,精准识别企业异常访问和潜在威胁的源头。

![](https://static.goodrain.com/wechat/topiam/5.png)

防暴力破解机制,在一定次数的失败尝试后,系统会自动锁定账户,有效防止恶意用户使用暴力破解技术尝试多次登录,使得进一步尝试登录变得无效。

![](https://static.goodrain.com/wechat/topiam/6.png)

完备的密码策略机制,可以设置相应的密码复杂度、相应的锁定解锁策略,还可以设置是否允许与历史密码重复等高级策略。同时,可以通过开启弱密码字典库来检查密码的安全强度。

![](https://static.goodrain.com/wechat/topiam/7.png)

提供标准 openapi 接口轻松完成机构用户同步,实现企业对于账号生命周期的精细化管理。

## 最后

TOPIAM 与 Rainbond 以及 Rainbond 上部署的应用还有很多场景可以结合,后续会持续输出相关的系列文章,例如:TOPIAM 对接 Rainbond 用户登录体系、SpringBoot OIDC 对接等系列文章,敬请期待!
147 changes: 147 additions & 0 deletions blog/2024/2024-06-20-dockermirror.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
---
title: 从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
description: 最近一段时间 Docker 镜像一直是 Pull 不下来的状态,感觉除了挂🪜,想直连 Docker Hub 是几乎不可能的。更糟糕的是,很多原本可靠的国内镜像站,例如一些大厂和高校运营的,也陆续关停了,这对我们这些个人开发者和中小企业来说是挺难受的。之前,通过这些镜像站,我们可以快速、方便地获取所需的 Docker 镜像,现在这条路也不行了。感觉这次动作不小,以后想直接访问 Docker Hub 是不可能了。所以我们得想办法搭建自己的私有镜像仓库。
slug: dockermirror
---


最近一段时间 Docker 镜像一直是 Pull 不下来的状态,感觉除了挂🪜,想直连 Docker Hub 是几乎不可能的。更糟糕的是,很多原本可靠的国内镜像站,例如一些大厂和高校运营的,也陆续关停了,这对我们这些个人开发者和中小企业来说是挺难受的。之前,通过这些镜像站,我们可以快速、方便地获取所需的 Docker 镜像,现在这条路也不行了。感觉这次动作不小,以后想直接访问 Docker Hub 是不可能了。所以我们得想办法搭建自己的私有镜像仓库。

最近网上有很多解决 Docker Hub 镜像拉不下来的文章,我大概总结一下有以下几种办法:

### Github Action

利用 Github Action Job 将 Docker Hub 镜像重新打 Tag 推送到阿里云等其他公有云镜像仓库里,这对于需要单个镜像很方便,批量就稍微麻烦一些,如果没🪜Github 访问也是个问题。

### CloudFlare Worker

使用 CloudFlare Worker 对 Docker Hub 的访问请求做中转,这种也是最近使用比较多的,因为个人用户的免费计划每天有10万次免费请求,足够个人和中小企业使用了,实在不够可以花 5$ 购买不限制的。Worker 脚本在网上有很多,随便搜索都有示例。

因为 CloudFlare Worker 默认分配的`workers.dev`结尾的域名国内根本解析不了,所以要把域名托管在 CloudFlare 上才能正常使用,可以购买 `.xyz` 等其他费用合适的域名专门用来做代理访问。

但 CloudFlare Worker CDN 经常抽风,有时很快有时很慢,可以借助[自选优选IP工具](https://github.com/XIU2/CloudflareSpeedTest)帮助获取访问 CloudFlare 延迟最低的IP,将其写入到你的本地 Hosts 文件中。

### 自建镜像仓库

说到自建首先我想到的就是买个配置比较低国外的服务器,搭建个 Nginx 做代理,分享下我配置成功的 Nginx 配置文件:

```bash
server {
listen 443 ssl;
server_name 域名;
ssl_certificate 证书地址;
ssl_certificate_key 密钥地址;

ssl_session_timeout 24h;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

location / {
proxy_pass https://registry-1.docker.io; # Docker Hub 的官方镜像仓库
proxy_set_header Host registry-1.docker.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_set_header Authorization $http_authorization;
proxy_pass_header Authorization;
proxy_intercept_errors on;
recursive_error_pages on;
error_page 301 302 307 = @handle_redirect;
}
location @handle_redirect {
resolver 1.1.1.1;
set $saved_redirect_location '$upstream_http_location';
proxy_pass $saved_redirect_location;
}
}
```

然后就可以直接用 `docker pull 域名/library/nginx:latest` 获取镜像了或者配置到 Docker 的`daemon.json`中。

Nginx 代理的方案你需要能购买到合适的国外服务器,不然网络会很慢。

又或者在国外服务器上搭建 Registry、Nexus、Harbor等镜像仓库,它们具备镜像缓存功能,如果私有镜像仓库中不存在则会去代理服务中获取最新镜像。

## 建议方案

所以对于个人用户、中小企业来说可以将上述的 `CloudFlare Worker` + `自建镜像仓库` 融合起来,本地搭建 Registry、Nexus、Harbor等镜像仓库,在镜像仓库中配置上自己的 `CloudFlare Worker` `Nginx反代` 等代理地址或者当前一些可用的其他代理,当本地不存在则会通过这些代理去获取镜像,代理不可用时本地依然能用。

### 搭建 Docker Registry

搭建 Docker Registry 可以参考下述命令:

```bash
docker run -d --restart=always --name registry \
-p 443:443
-e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \ #代理的镜像仓库URL
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \ #监听地址
-e REGISTRY_HTTP_HOST=https://xxx.cn \ #访问域名
-e REGISTRY_HTTP_TLS_CERTIFICATE=/opt/cert/cert.pem \ #域名证书
-e REGISTRY_HTTP_TLS_KEY=/opt/cert/cert.key \ #域名证书
-v /opt/cert:/opt/cert \ #挂载本地证书到容器中
-v /data:/var/lib/registry \ #持久化数据目录
registry:2
```

### 搭建 Nexus

可选择使用 Docker 命令搭建 [Nexus](https://github.com/sonatype/docker-nexus3)

```
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
```

或者使用 [Rainbond](https://www.rainbond.com/docs/quick-start/quick-install) 应用商店一键安装。

![](https://static.goodrain.com/wechat/docker-proxy/1.png)

搭建完成后正常登录 Nexus 页面,根据页面引导配置 Docker 相关的存储 Repository 及代理 Repository 即可。

### 搭建 Harbor

可参考 [Harbor文档 ](https://goharbor.io/docs/2.11.0/install-config/)搭建或者使用 [Rainbond](https://www.rainbond.com/docs/quick-start/quick-install) 应用商店一键安装。

![](https://static.goodrain.com/wechat/docker-proxy/2.png)

## 可用的镜像代理

最近十来天我尝试了很多镜像加速站,整理了以下镜像站目前是可用状态,但可能随时会遇到不可用、关停、访问比较慢的状态,建议同时配置多个镜像源。

| 提供商 | 地址 | |
| -------------- | --------------------------------------- | -------------- |
| DaoCloud | https://docker.m.daocloud.io | |
| 阿里云 | https://<your_code>.mirror.aliyuncs.com | 登录阿里云分配 |
| Docker镜像代理 | https://dockerproxy.com | 看运气 |
| 百度云 | https://mirror.baidubce.com | |
| 南京大学 | https://docker.nju.edu.cn | |
| 中科院 | https://mirror.iscas.ac.cn | |

## 福利

近期 Rainbond 社区也接受到许多用户反馈 Docker 镜像拉不下来,不能构建、打包了,因此 Rainbond 也搭建了个镜像加速服务,采用 `CloudFlare + 国外服务器 Nginx 反代`的方案为 Rainbond 社区的用户们提供镜像加速服务。

![](https://static.goodrain.com/wechat/docker-proxy/3.png)

目前速度挺快的(未来不好说

### 使用方法

1.直接获取 Docker Hub 镜像

```bash
docker pull docker.rainbond.cc/library/node:20
docker pull docker.rainbond.cc/rainbond/rainbond:v5.17.2-release-allinone
```

2.配置镜像加速器

```bash
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.rainbond.cc"]
}
EOF
systemctl daemon-reload
systemctl restart docker
```
97 changes: 97 additions & 0 deletions blog/2024/2024-07-19-centosmigration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
title: CentOS 7 服务终止,何去何从?一文搞懂,迁移无忧
description: 2020年12月08日,CentOS 官方宣布了停止维护 CentOS 项目,并推出了 CentOS Stream 项目,并表示后续都会投入到 CentOS Stream 项目中。更多信息,请参见 [CentOS官方公告 ](https://blog.centos.org/2020/12/future-is-centos-stream/)。
slug: centosmigration
---

## 背景

2020年12月08日,CentOS 官方宣布了停止维护 CentOS 项目,并推出了 CentOS Stream 项目,并表示后续都会投入到 CentOS Stream 项目中。更多信息,请参见 [CentOS官方公告 ](https://blog.centos.org/2020/12/future-is-centos-stream/)

- CentOS 6 已于 2020年11月30日 停止维护,CentOS 8 已于 2021年12月31日 停止维护。
- CentOS 7 已于 2024年06月30日 停止维护。

## 影响

CentOS 停止服务主要的影响是以下两个方面:

* **安全漏洞:**无法获取安全补丁来修复高风险的CVE漏洞。

- **软件功能:**不再发布新版本软件包,缺乏新功能、新架构支持;

总的来说停止维护意味着无法获取安全补丁修复高风险的 CVE 漏洞,也无法获取到新版本软件包带来的新功能和架构支持。这直接导致了操作系统出现的任何安全漏洞或其他问题都无法得到官方的处理,同时许多基础软件包也不再更新。

## 如何应对

面对这种情况,我们不得不考虑迁移到其他长期支持(LTS)的 Linux 发行版,以确保系统的安全和持续更新。可选的迁移目标包括:

- **Ubuntu LTS**:提供至少五年的安全更新和维护,适合需要长期稳定支持的企业环境。
- **Debian Stable**:同样提供长期安全支持,稳定性良好,适合生产环境。
- **Fedora Server 或 Fedora Workstation**:虽然支持周期较短,但提供最新的软件和特性,适合需要最新技术的环境。
- **Rocky Linux**:为了填补 CentOS 停止维护留下的空白而创建的,与 Red Hat Enterprise Linux(RHEL)高度兼容,迁移过程相对简单。
- **Anolis OS、openEuler、OpenCloudOS**:这些由国内厂商主导并开源的 Linux 发行版,同样与 RHEL 高度兼容,为企业用户提供了很好的本地化支持和服务。

在选择迁移目标时,如果选择迁移到 **Ubuntu、Debian 或 Fedora**,可能需要使用一些外部工具帮助迁移,因为这些系统与 CentOS 有较大的包管理差异,迁移过程可能涉及较高的风险。

而选择 **Rocky Linux、Anolis OS、openEuler 或 OpenCloudOS** 则会简化迁移过程,因为这些系统与 CentOS 的高度兼容性降低了迁移难度,让过程更为顺畅。

### Centos 7 迁移到 Anolis OS 7

这里以 Centos 7 迁移到 Anolis OS 7 举例。

1. 下载 Anolis OS 迁移工具 yum 源

```bash
wget https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
```

2. 安装迁移工具 centos2anolis

```bash
yum -y install centos2anolis
```

> 若出现下述的报错,则需要安装epel源,迁移工具需要依赖 epel 源中的 python36-psutil 包
>
> ```bash
> Error: Package: centos2anolis-0.2-20.an7.noarch (migration)
> Requires: python36-psutil
>
> $ yum install -y epel-release
> ```
3. 执行迁移命令
```bash
# 不加参数默认迁移到 ANCK 内核的 Anolis OS
centos2anolis.py
# 迁移到 RHCK 内核的 Anolis OS
centos2anolis.py --rhck
```
迁移完成后如下图所示:

![](https://static.goodrain.com/wechat/centos-migration/1.png)

4. 重启并验证 OS 版本

![](https://static.goodrain.com/wechat/centos-migration/2.png)

5. 迁移完成,在 Rainbond 集群管理的节点详情中也可查看到操作系统版本。

![](https://static.goodrain.com/wechat/centos-migration/3.png)

### 迁移到其他 Linux 发行版

自 Centos 系列项目宣布停止维护以后,大部分 Linux 发行版都提供了迁移指南,例如:

* [Centos 迁移到 Rocky Linux](https://docs.rockylinux.org/zh/guides/migrate2rocky/)
* [Centos 迁移到 Anolis OS](https://openanolis.cn/sig/migration/doc/451732372594279514)
* [Centos 迁移到 openEuler](https://www.openeuler.org/zh/migration/guidance/)
* [Centos 迁移到 OpenCloudOS](https://docs.opencloudos.org/centos_migrate/migrate_CentOS7_to_OC7/)

以上四种方式都是相当容易、简单的,因为它们都与 Centos 高度兼容。

## 最后

迁移操作系统是一个比较重要的事情,需要完整的计划和执行。建议在大家实施之前,充分测试所有关键的业务应用以确保兼容性,准备好详细的回滚方案以应对可能出现的问题。祝大家都能完美迁移成功~
Loading

0 comments on commit cfd6604

Please sign in to comment.