登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情
代码拉取完成,页面将自动刷新
开源项目
>
WEB应用开发
>
OAuth/单点登录/统一认证
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
223
Star
8.1K
Fork
730
GVP
TOPIAM 身份安全
/
topiam-eiam
代码
Issues
30
Pull Requests
0
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
在增加一个 k8s 部署方式,最好添加到官网文档中
待办的
#IBEY7V
user_5348805
创建于
2024-12-31 17:19
# 本地做了个demo ## 前提条件 - mysql 版本大于等于 8.0 - redis 版本大于等于7.0 ## 实战 - 制作 镜像 ``` # 自定义 topiam 配置文件 [root@tools topiam-installer-v2.0.0]# cat topiam.properties # mysql config spring.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true spring.datasource.username=${MYSQL_USERNAME} spring.datasource.password=${MYSQL_PASSWORD} # redis config spring.data.redis.host=${REDIS_HOST} spring.data.redis.port=${REDIS_PORT} spring.data.redis.password=${REDIS_PASSWORD} spring.data.redis.database=${REDIS_DATABASE} # 编写docker镜像文件 [root@tools topiam-installer-v2.0.0]# cat Dockerfile FROM registry.cn-hangzhou.aliyuncs.com/topiam/topiam-ce:2.0.0 RUN mkdir -p /opt/topiam/conf COPY ./topiam.properties /opt/topiam/conf/topiam.properties # 打包镜像 [root@tools topiam-installer-v2.0.0]# docker build -t registry.cn-hangzhou.aliyuncs.com/topiam/topiam-ce:v1.0.0 . # 保存镜像 [root@tools topiam-installer-v2.0.0]# docker save -o topiam-ce-customize.tag.gz registry.cn-hangzhou.aliyuncs.com/topiam/topiam-ce:v1.0.0 ``` - 编写 k8s yaml 配置文件 ``` [root@master2 topiam]# cat topiam.yaml apiVersion: apps/v1 kind: Deployment metadata: name: topiam-server spec: replicas: 1 selector: matchLabels: app: topiam-server template: metadata: labels: app: topiam-server spec: containers: - name: topiam-server image: registry.cn-hangzhou.aliyuncs.com/topiam/topiam-ce:v1.0.0 imagePullPolicy: IfNotPresent ports: - containerPort: 1898 protocol: TCP env: - name: MYSQL_HOST value: mycluster-mysql-headless - name: MYSQL_PORT value: "3306" - name: MYSQL_DATABASE value: topiam - name: MYSQL_USERNAME value: root - name: MYSQL_PASSWORD value: 'Yztx@2023' - name: REDIS_HOST value: 192.168.5.121 - name: REDIS_PORT value: "6379" - name: REDIS_PASSWORD value: 'Yztx@2023' - name: REDIS_DATABASE value: "0" livenessProbe: httpGet: path: /actuator/health port: 1898 initialDelaySeconds: 20 periodSeconds: 20 timeoutSeconds: 10 failureThreshold: 60 readinessProbe: httpGet: path: /actuator/health port: 1898 initialDelaySeconds: 20 periodSeconds: 20 timeoutSeconds: 10 failureThreshold: 60 restartPolicy: Always dnsPolicy: ClusterFirst --- apiVersion: v1 kind: Service metadata: name: topiam-server-svc-nodeport spec: selector: app: topiam-server ports: - protocol: TCP port: 80 targetPort: 1898 nodePort: 60001 type: NodePort ``` - 在 mysql topiam 数据库 ``` # 更新root密码,并且希望该密码对从任何 IP 地址连接的 root 用户(即 root@%)生效 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Yztx@2023'; FLUSH PRIVILEGES; # 调整 root@% 用户的权限,可以使用 GRANT 和 REVOKE 语句。例如,如果你想授予 root@% 用户对所有数据库的所有权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; # 创建 topiam 数据库 并设置排序规则 CREATE DATABASE topiam CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` - 启动 ``` [root@master2 topiam]# kubectl apply -f topiam.yaml ``` - 测试 ``` [root@master2 topiam]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE external-secrets-webhook ClusterIP 10.233.37.135 <none> 443/TCP 5d23h kubernetes ClusterIP 10.233.0.1 <none> 443/TCP 12d mycluster-mysql ClusterIP 10.233.51.178 <none> 3306/TCP 6d3h mycluster-mysql-headless ClusterIP None <none> 3306/TCP,3601/TCP,9104/TCP,3501/TCP,50001/TCP,9901/TCP 6d3h topiam-server-svc-nodeport NodePort 10.233.27.69 <none> 80:60001/TCP 18m vault ClusterIP 10.233.36.153 <none> 8200/TCP,8201/TCP 5d23h vault-active ClusterIP 10.233.11.103 <none> 8200/TCP,8201/TCP 5d23h vault-agent-injector-svc ClusterIP 10.233.7.183 <none> 443/TCP 5d23h vault-internal ClusterIP None <none> 8200/TCP,8201/TCP 5d23h vault-standby ClusterIP 10.233.35.99 <none> 8200/TCP,8201/TCP 5d23h vault-ui NodePort 10.233.52.182 <none> 8200:28865/TCP 5d23h [root@master2 topiam]# ``` - 访问地址 : http://目标服务器IP地址:服务运行端口 - 登录用户名: admin - 默认密码: topiam.cn 
# 本地做了个demo ## 前提条件 - mysql 版本大于等于 8.0 - redis 版本大于等于7.0 ## 实战 - 制作 镜像 ``` # 自定义 topiam 配置文件 [root@tools topiam-installer-v2.0.0]# cat topiam.properties # mysql config spring.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true spring.datasource.username=${MYSQL_USERNAME} spring.datasource.password=${MYSQL_PASSWORD} # redis config spring.data.redis.host=${REDIS_HOST} spring.data.redis.port=${REDIS_PORT} spring.data.redis.password=${REDIS_PASSWORD} spring.data.redis.database=${REDIS_DATABASE} # 编写docker镜像文件 [root@tools topiam-installer-v2.0.0]# cat Dockerfile FROM registry.cn-hangzhou.aliyuncs.com/topiam/topiam-ce:2.0.0 RUN mkdir -p /opt/topiam/conf COPY ./topiam.properties /opt/topiam/conf/topiam.properties # 打包镜像 [root@tools topiam-installer-v2.0.0]# docker build -t registry.cn-hangzhou.aliyuncs.com/topiam/topiam-ce:v1.0.0 . # 保存镜像 [root@tools topiam-installer-v2.0.0]# docker save -o topiam-ce-customize.tag.gz registry.cn-hangzhou.aliyuncs.com/topiam/topiam-ce:v1.0.0 ``` - 编写 k8s yaml 配置文件 ``` [root@master2 topiam]# cat topiam.yaml apiVersion: apps/v1 kind: Deployment metadata: name: topiam-server spec: replicas: 1 selector: matchLabels: app: topiam-server template: metadata: labels: app: topiam-server spec: containers: - name: topiam-server image: registry.cn-hangzhou.aliyuncs.com/topiam/topiam-ce:v1.0.0 imagePullPolicy: IfNotPresent ports: - containerPort: 1898 protocol: TCP env: - name: MYSQL_HOST value: mycluster-mysql-headless - name: MYSQL_PORT value: "3306" - name: MYSQL_DATABASE value: topiam - name: MYSQL_USERNAME value: root - name: MYSQL_PASSWORD value: 'Yztx@2023' - name: REDIS_HOST value: 192.168.5.121 - name: REDIS_PORT value: "6379" - name: REDIS_PASSWORD value: 'Yztx@2023' - name: REDIS_DATABASE value: "0" livenessProbe: httpGet: path: /actuator/health port: 1898 initialDelaySeconds: 20 periodSeconds: 20 timeoutSeconds: 10 failureThreshold: 60 readinessProbe: httpGet: path: /actuator/health port: 1898 initialDelaySeconds: 20 periodSeconds: 20 timeoutSeconds: 10 failureThreshold: 60 restartPolicy: Always dnsPolicy: ClusterFirst --- apiVersion: v1 kind: Service metadata: name: topiam-server-svc-nodeport spec: selector: app: topiam-server ports: - protocol: TCP port: 80 targetPort: 1898 nodePort: 60001 type: NodePort ``` - 在 mysql topiam 数据库 ``` # 更新root密码,并且希望该密码对从任何 IP 地址连接的 root 用户(即 root@%)生效 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Yztx@2023'; FLUSH PRIVILEGES; # 调整 root@% 用户的权限,可以使用 GRANT 和 REVOKE 语句。例如,如果你想授予 root@% 用户对所有数据库的所有权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; # 创建 topiam 数据库 并设置排序规则 CREATE DATABASE topiam CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` - 启动 ``` [root@master2 topiam]# kubectl apply -f topiam.yaml ``` - 测试 ``` [root@master2 topiam]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE external-secrets-webhook ClusterIP 10.233.37.135 <none> 443/TCP 5d23h kubernetes ClusterIP 10.233.0.1 <none> 443/TCP 12d mycluster-mysql ClusterIP 10.233.51.178 <none> 3306/TCP 6d3h mycluster-mysql-headless ClusterIP None <none> 3306/TCP,3601/TCP,9104/TCP,3501/TCP,50001/TCP,9901/TCP 6d3h topiam-server-svc-nodeport NodePort 10.233.27.69 <none> 80:60001/TCP 18m vault ClusterIP 10.233.36.153 <none> 8200/TCP,8201/TCP 5d23h vault-active ClusterIP 10.233.11.103 <none> 8200/TCP,8201/TCP 5d23h vault-agent-injector-svc ClusterIP 10.233.7.183 <none> 443/TCP 5d23h vault-internal ClusterIP None <none> 8200/TCP,8201/TCP 5d23h vault-standby ClusterIP 10.233.35.99 <none> 8200/TCP,8201/TCP 5d23h vault-ui NodePort 10.233.52.182 <none> 8200:28865/TCP 5d23h [root@master2 topiam]# ``` - 访问地址 : http://目标服务器IP地址:服务运行端口 - 登录用户名: admin - 默认密码: topiam.cn 
评论 (
0
)
登录
后才可以发表评论
状态
待办的
待办的
进行中
已完成
已关闭
负责人
未设置
标签
未设置
标签管理
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (
-
)
标签 (
-
)
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(1)
1
https://gitee.com/topiam/eiam.git
git@gitee.com:topiam/eiam.git
topiam
eiam
topiam-eiam
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册