deployment.toml配置选项

时间:2020-01-16 16:03:44

标签: wso2 wso2is wso2carbon

“ WSO IS 5.9.0”的新功能是deploy.toml,但是我没有找到配置选项,也没有人可以从该文件设置xml配置文件的方式。

例如,如果我要在carbon.xml选项中启用EnableHTTPAdminConsole,则该怎么办?

[server]
hostname = "my.server.com"
node_ip = "127.0.0.1"
base_path = "https://$ref{server.hostname}:${carbon.management.port}"
enable_h_t_t_p_admin_console = true
enable_http_admin_console = true
EnableHTTPAdminConsole = true

不起作用

此外,我尝试在docker映像中进行修改:

wso2is-5.9.0/repository/resources/conf/templates/repository/conf/carbon.xml.j2

wso2is-5.9.0/conf/carbon.xml

但是所有这些文件都会被覆盖。

我的用例是在没有端口的情况下在K8S中使用WSO2IS。

https://wso2is.my.domain/> k8s nginx入口:443(管理证书)> wso2is-service> wso2is-pod:9763(普通http)

但是问题仍然存在,deployment.toml中有哪些配置选项可用

3 个答案:

答案 0 :(得分:2)

如果未应用上述修复,则说明您的Docker映像已正确被默认配置覆盖。您可以尝试使用请求的更改构建新的Docker映像吗?此链接https://github.com/wso2/docker-is/tree/5.9.0/dockerfiles/ubuntu/is可以帮助您构建图像。

但是我不确定为什么您不能从Nginx入口访问ssl(9443)。也许您可以尝试此示例Nginx入口https://github.com/wso2/kubernetes-is/blob/master/advanced/is-pattern-1/templates/identity-server-ingress.yaml

答案 1 :(得分:1)

这似乎是不可能通过Deployment.toml实现的。解决方法是,您可以在

中取消注释该属性。

wso2is-5.9.0 / repository / resources / conf / templates / repository / conf / carbon.xml.j2

将此作为问题报告:https://github.com/wso2/product-is/issues

答案 2 :(得分:1)

问题的答案是可以使用Deployment.toml配置的,它回答了佛教,所以我将其答案标记为答案。

人们可以通过模板来查看

wso2is-5.9.0/repository/resources/conf/templates/repository/conf/carbon.xml.j2

并且可以看到所有选项。

启用HTTPAdminConsole的答案回答pulasthi7它是故意遗漏的。

我找到了解决方法以使入口连接到ssl

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    nginx.ingress.kubernetes.io/service-upstream: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
  name: wso2is-ingress
  namespace: wso2is
spec:
  tls:
  - hosts:
    - wso2is.k8s.mydomain.com
    secretName: tls-wso2is
  rules:
  - host: wso2is.k8s.mydomain.com
    http:
      paths:
      - backend:
          serviceName: wso2is-is-service
          servicePort: 9443
        path: /(.*)

最重要的一行:

nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"

通过这种方式,使用自己的证书将与nginx的连接加密,并使用Pod中的证书将其从Nginx加密到Pod。