在 Kubernetes 中搭建 Harbor

目录 DevOps, Kubernetes

前言

Harbor 是一个开源且安全的容器镜像仓库,支持基于 RBAC 的访问权限控制,容器镜像漏洞扫描和镜像签名等安全特性。同时支持管理 Docker 镜像和 Helm Charts Repository,使开发者可以高效便捷且安全地管理各种云原生平台的镜像。

本次搭建的整体思路是利用阿里云 Kubernetes 集群搭建一个 Harbor 镜像仓库和 Helm Charts 仓库,通过 Secret 存储管理页面 SSL 证书,存储方面使用阿里云 NAS 服务挂载 Persistence Volume,并对应定义好 Persistence Volume Claim。由于 Kubernetes 集群内已存在 Ingress 服务,故使用已有的 Ingress 服务代理 Harbor,由 Ingress + TLS 向外提供服务,Ingress 到 Harbor 服务则无需 TLS。

继续阅读 “在 Kubernetes 中搭建 Harbor”

泰国地址识别的一种尝试

目录 PHP, 算法

前言

由于公司项目主要面向泰国等东南亚地区用户,参考国内各大快递、电商平台有关收货地址的自动识别,希望能实现类似的、基于泰文的泰国收货地址自动识别的功能。用户粘贴一段“姓名 + 收货手机号 + 收货地址 + 邮编”的文字,通过分析、匹配上系统内已经存在的、由物流公司提供的府(จังหวัด)、县(อำเภอ)、区(ตำบล)的邮政编码。作为一个国人程序员,自然是没有泰语功底,因此本文中所提到的有关泰语的相关说明和描述可能存在偏差,但本文仅作为实现自动识别地址功能的一种参考。

继续阅读 “泰国地址识别的一种尝试”

在 Kubernetes 中通过 Jenkins 和 Dynamic Slaves 实现 CI/CD

目录 CI/CD, DevOps, Kubernetes

本文将介绍如何通过在 Kubernetes 集群中利用 Jenkins 和 Kubernetes-Jenkins-Plugin 实现动态按需扩展 jenkins-slave 实现 CI/CD。实验环境为阿里云 ACK Kubernetes 托管集群。

前提条件

已创建好的 Kubenretes 集群,包括自建集群和云服务提供商托管集群;

在已创建的 Kubenretes 集群中安装好的 Jenkins 服务;有关安装方式:

继续阅读 “在 Kubernetes 中通过 Jenkins 和 Dynamic Slaves 实现 CI/CD”