授权服务部署
裸机部署
下载可执行程序:grant_deploy.rar
- 获取完整的安装压缩包
grant_deploy.tar
,并解压到当前目录下
tar -xf grant_deploy.tar
-
进入
grant_deploy
文件夹,查看当前的文件,共2个文件:conf 和 grantls conf grant
-
执行程序会自动建表。直接进入conf 目录,编辑配置文件,填写当前的数据库host等信息,以及用户名和密码
cd .. cd conf ls config.properties key_pub.pem vim config.properties
url=jdbc:mysql://192.168.168.176:3306/iidp?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToN ull&useSSL=false&allowPublicKeyRetrieval=true username=root password=123456 serverPort=8080 # 服务监听的端口
- Oracle数据库与mysql配置类似
url=jdbc:oracle:thin:@192.168.168.177:1521:HELOWIN username=sie_chun password=123456
- 回到根目录,执行
nohup ./grant > grant.log 2>&1 &
,grant.log 日志出现Listening and serving HTTP on :8080
日志,即表示运行成功。同时需要查看是否grant进程存在。
容器部署
下载镜像:grant-v2.tar
-
docker部署,在
/app/build/conf
配置好相关配置文件(参考裸机配置,但docker配置需要自行挂载配置文件,参考下面的 -v 命令,其中/app/build/conf
配置文件目录是固定死的,容器外的路径可自行配置),并执行以下docker命令
如果无法获取docker stop grant docker rm grant docker run -itd --name grant -p 8080:8080 -v /app/build/conf:/app/build/conf dockerhub.kubekey.local/release/grant:v2
dockerhub.kubekey.local/release/grant:v2
镜像,可以创建一个 Dockerfile,内容如下:
执行命令FROM ubuntu:latest COPY grant /app/grant WORKDIR /app CMD ["./grant"]
docker build . -t grant:latest
构建镜像grant:latest
。然后使用以下命令运行镜像docker run -itd --restart=always --name grant -p 8080:8080 -v /app/build/conf:/app/conf grant:v2
-
docker-compose部署,编写
docker-compose.yaml
文件(如下),执行docker-compose -d up
.version: '3.6' services: grant: image: 'dockerhub.kubekey.local/release/grant:v2' restart: always container_name: 'grant' ports: - '8080:8080' volumes: - /app/build/conf:/app/build/conf
-
k8s部署。由同目录下的
iidp平台项目部署文档
可知,已经在客户机上安装了一整套k8s平台和镜像仓库harbor, 那么安装和部署grant服务就相对简单,按照上述预置条件,创建好数据库和配置文件,直接执行kubectl -n yournamespace apply -f deployment.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: grant-deployment spec: replicas: 3 selector: matchLabels: app: grant template: metadata: annotations: dapr.io/enabled: "false" # 是否开启dapr dapr.io/app-id: "grant" dapr.io/app-port: "8080" labels: app: grant spec: containers: - name: grant image: dockerhub.kubekey.local/release/grant:v2 # 镜像地址 imagePullPolicy: IfNotPresent ports: - containerPort: 80 volumeMounts: - name: config-volume mountPath: /app/build/conf volumes: - name: config-volume configMap: name: grant-cm-db --- apiVersion: v1 kind: Service metadata: labels: version: v1 app: grant-svc name: grant-svc spec: selector: app: grant ports: - name: tcp-8080 protocol: TCP port: 8080 targetPort: 8080 --- apiVersion: v1 kind: ConfigMap metadata: labels: app: grant name: grant-cm data: config.properties: | url=jdbc:mysql://192.168.168.176:3306/snest?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username=root password=123456 serverPort=8080 key_pub.pem: | -----BEGIN RSA PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWHxKR0aDQXEKthIMhe7 L8jNs1Wti0ZNUzDIOqLnO+uL6gaXdvelp9orE5lN+J2NqQTRjAUm8cNIG8w97y+e UeG9JaC8Wp1LOjsHzE1GfwlGkCXKo8uy893WKC0kr8LHSUiOgL82q61BJ3gH/od1 zzeEXT1I7DzK7ZidY7++6/vnPB0C6B5BFN7ZT1a29BZFk3GsRxxuUzK5EKvoYF3n P62IKku3CQh211DEy6MWXMfpWbheExvqn54IeaZrAV9NuZoDF5P7CMlksEMUapQh CJs2cxypMRi96jaeRc4oLecM6y1Kz3x4ZFoEmAHnyc+2rgHSbif0nYzRkbJAUDD5 WQIDAQAB -----END RSA PUBLIC KEY-----