k8s 部署 PostgRest
PostgREST是一个可以直接将你的PostgreSQL数据库直接提供RESTful API 的稳定WEB服务。数据库结构和约束决定API的端点和操作。
运行PostgREST ,你就可以通过http访问数据库数据了
参考yaml文件
可以通过以下yml文件直接部署
#请注意修改变量 --- apiVersion: apps/v1 kind: Deployment metadata: name: postgrest namespace: {{ .namespace }} labels: app: postgrest spec: replicas: 1 strategy: type: RollingUpdate selector: matchLabels: app: postgrest template: metadata: labels: app: postgrest spec: imagePullSecrets: - name: qingcloud-registry containers: - name: postgrest image: postgrest:v7.0.1 #可使用最新 imagePullPolicy: IfNotPresent ports: - name: postgrest containerPort: 3000 protocol: TCP env: - name: PGRST_DB_URI value: {{ .pgrst_db_uri }} - name: PGRST_DB_SCHEMA value: {{ .pgrst_db_schema }} - name: PGRST_DB_ANON_ROLE value: {{ .pgrst_db_anon_role }} - name: PGRST_OPENAPI_SERVER_PROXY_URI value: {{ .pgrst_openapi_server_proxy_uri }} - name: PGRST_JWT_SECRET value: {{ .pgrst_jwt_secret }} - name: swagger image: harbor.querycap.com/rk-edc/swagger-ui:latest imagePullPolicy: IfNotPresent ports: - name: swagger-ui containerPort: 8080 protocol: TCP env: - name: API_URL value: {{ .pgrst_openapi_server_proxy_uri }} --- apiVersion: v1 kind: Service metadata: name: postgrest namespace: {{ .namespace }} labels: app: postgrest spec: type: NodePort ports: - port: 3000 targetPort: 3000 nodePort: 32009 protocol: TCP name: postgrest - port: 8080 targetPort: 8080 nodePort: 32010 protocol: TCP name: swagger-ui selector: app: postgrest --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: postgrest namespace: {{ .namespace }} annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/ssl-redirect: "false" spec: rules: - host: {{ .rest_url }} http: paths: - path: pathType: ImplementationSpecific backend: service: name: postgrest port: number: 3000 - host: {{ .swg_url }} http: paths: - path: pathType: ImplementationSpecific backend: service: name: postgrest port: number: 8080
变量信息
namespace: namespace #命名空间 pgrst_db_uri: postgres://user:password@db:5432/app_db pgrst_db_schema: public pgrst_db_anon_role: web_anon #新建一个角色并授权 pgrst_openapi_server_proxy_uri: http://127.0.0.1:3000 pgrst_jwt_secret: 28doNH52304dsa1GlFjPUSOgalxrS8vilP #目前不知道怎么设置的 rest_url: rest.xxxx.com #rest域名 swg_url: swg.xxxx.com #swg域名
更改以上变量然后直接在k8s集群中apply就完事儿了
另外,求大佬解惑
pgrst_jwt_secret
这个变量是怎么怎么设置的呢,以及有什么用处呢。jwt的工作流为:
当你访问系统其他的接口时,在HTTP的header中携带JWT令牌。header的名称可以自定义,前后端对应上即可。服务端解签验证JWT中的用户标识,根据用户标识从数据库中加载访问权限、用户信息等状态信息。
我能不能理解为这个变量我可以随便设置,