service/account/deploy/README.md
sealos run 镜像时会在目标节点执行 Kubefile,本镜像通过 Helm 安装/升级 account-service Deployment。
无
# 最简配置
sealos run labring/account-service:latest
# 自定义命名空间
sealos run labring/account-service:latest \
--env RELEASE_NAMESPACE=my-account-system
# 自定义镜像
sealos run labring/account-service:latest \
--env HELM_OPTS="--set image=ghcr.io/labring/sealos-account-service:v1.0.0"
# 自定义副本数
sealos run labring/account-service:latest \
--env HELM_OPTS="--set replicaCount=3"
account-systemaccount-service--set replicaCount=3 --set image.tag=latest)./charts/account-service可通过 HELM_OPTS 传递以下参数:
replicaCount: 副本数,默认 1image: 容器镜像,默认 ghcr.io/labring/sealos-account-service:latestimagePullPolicy: 镜像拉取策略,默认 AlwaysimagePullSecrets: 镜像拉取密钥,默认 []service.type: 服务类型,默认 ClusterIPservice.port: 服务端口,默认 2333resources.limits.cpu: CPU 限制,默认 500mresources.limits.memory: 内存限制,默认 256Miresources.requests.cpu: CPU 请求,默认 50mresources.requests.memory: 内存请求,默认 25MilivenessProbe.httpGet.path: 存活探针路径,默认 /healthlivenessProbe.httpGet.port: 存活探针端口,默认 2333livenessProbe.initialDelaySeconds: 存活探针初始延迟,默认 3livenessProbe.periodSeconds: 存活探针周期,默认 10readinessProbe.httpGet.path: 就绪探针路径,默认 /healthreadinessProbe.httpGet.port: 就绪探针端口,默认 2333readinessProbe.initialDelaySeconds: 就绪探针初始延迟,默认 3readinessProbe.periodSeconds: 就绪探针周期,默认 5readinessProbe.failureThreshold: 就绪探针失败阈值,默认 6nodeSelector: 节点选择器,默认 {}tolerations: 容忍度配置,默认 []affinity: 亲和性配置,默认 {}autoscaling.enabled: 是否启用自动伸缩,默认 falseautoscaling.minReplicas: 最小副本数,默认 1autoscaling.maxReplicas: 最大副本数,默认 1autoscaling.targetCPUUtilizationPercentage: 目标 CPU 利用率,默认 80serviceAccountName: 服务账户名称,默认 account-controller-managerenvConfigMapName: 环境 ConfigMap 名称,默认 account-manager-envpaymentSecretName: 支付密钥名称,默认 payment-secretregionInfoConfigMapName: 区域信息 ConfigMap 名称,默认 region-infonameOverride: 名称覆盖,默认 ""fullnameOverride: 完全限定名称覆盖,默认 account-service# 1. 最简配置
sealos run labring/account-service:latest
# 2. 自定义命名空间
sealos run labring/account-service:latest \
--env RELEASE_NAMESPACE=my-account-system
# 3. 自定义镜像和标签
sealos run labring/account-service:latest \
--env HELM_OPTS="--set image=ghcr.io/labring/sealos-account-service:v1.0.0"
# 4. 自定义副本数和资源限制
sealos run labring/account-service:latest \
--env HELM_OPTS="--set replicaCount=3 --set resources.limits.cpu=1000m --set resources.limits.memory=512Mi"
# 5. 自定义服务端口
sealos run labring/account-service:latest \
--env HELM_OPTS="--set service.port=8080"
# 6. 配置节点选择器
sealos run labring/account-service:latest \
--env HELM_OPTS="--set nodeSelector.node-role.kubernetes.io/worker="
# 7. 启用自动伸缩
sealos run labring/account-service:latest \
--env HELM_OPTS="--set autoscaling.enabled=true --set autoscaling.minReplicas=2 --set autoscaling.maxReplicas=5"
# 8. 完整配置示例
sealos run labring/account-service:latest \
--env RELEASE_NAMESPACE=production-account \
--env HELM_OPTS="--set replicaCount=3 \
--set image=ghcr.io/labring/sealos-account-service:v1.0.0 \
--set resources.limits.cpu=1000m \
--set resources.limits.memory=512Mi \
--set resources.requests.cpu=100m \
--set resources.requests.memory=50Mi \
--set livenessProbe.initialDelaySeconds=10 \
--set readinessProbe.initialDelaySeconds=10"
使用现有的 account-controller-manager service account,与 account-controller 共享权限。
--create-namespace 参数)kubectl get pods -n account-system
kubectl describe pod -n account-system -l app=account-service
kubectl logs -n account-system deployment/account-service
kubectl logs -n account-system deployment/account-service --tail=100 -f
helm status account-service -n account-system
helm get all account-service -n account-system
# 查看 ConfigMap
kubectl get configmap account-manager-env -n account-system -o yaml
kubectl get configmap region-info -n account-system -o yaml
# 查看 Secret
kubectl get secret payment-secret -n account-system -o yaml
kubectl rollout restart deployment/account-service -n account-system
helm uninstall account-service -n account-system
如果之前使用 manifest 部署(manifests/deploy.yaml),entrypoint 脚本会自动:
无需手动删除旧资源,直接运行新的 sealos run 命令即可。
| 特性 | account-service | account-controller |
|---|---|---|
| 类型 | 无状态服务(HTTP API) | Kubernetes 控制器 |
| Webhook | 无 | 有(validating webhook) |
| RBAC | 复用 controller 的 SA | 独立的完整 RBAC |
| Metrics | 无 | 有(可选启用) |
| Certificates | 无 | 需要 cert-manager 证书 |
| 功能 | 提供 Account API 服务 | 管理 Account CRD 和计费逻辑 |
# 模板渲染测试
helm template account-service ./charts/account-service
# 干跑安装
helm install account-service ./charts/account-service --dry-run --debug
# Lint 检查
helm lint ./charts/account-service
# 在 deploy 目录下执行
cd service/account/deploy
sealos build -t labring/account-service:latest .
# 直接运行 entrypoint 脚本(需要 kubectl 访问权限)
bash account-service-entrypoint.sh
修改 Chart 时请注意:
Chart.yaml 中的版本号helm template 和 helm lint 验证模板