代码之家  ›  专栏  ›  技术社区  ›  mornindew

SuiteCRM安装在Minikube/K8s上

  •  2
  • mornindew  · 技术社区  · 7 年前

    我是suiteCRM的新手,我正在尝试部署到Minikube。我在K8s回购中使用了helm图表:

    https://github.com/kubernetes/charts/tree/master/stable/suitecrm

    我正在使用命令:

    helm install --name red-falcon-crm -f values.yaml stable/suitecrm
    

    我修改了值。yaml具有一些自定义值(例如电子邮件、用户名、密码)。即使我没有得到非常有用的错误,安装也没有成功。我确实有一些错误,关于没有一个可解析的主机,但我希望代理。

    craig@craigs-laptop:~/redfalcon/gitlab/platform-setup/modules/suitecrm$ helm install --name red-falcon-crm -f values.yaml stable/suitecrm
    NAME:   red-falcon-crm
    LAST DEPLOYED: Tue Oct 31 19:13:03 2017
    NAMESPACE: default
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/Pod(related)
    NAME                                     READY  STATUS             RESTARTS  AGE
    red-falcon-crm-mariadb-7fb6774f5c-b5w7t  0/1    ContainerCreating  0         0s
    
    ==> v1/Secret
    NAME                     TYPE    DATA  AGE
    red-falcon-crm-mariadb   Opaque  2     1s
    red-falcon-crm-suitecrm  Opaque  2     1s
    
    ==> v1/ConfigMap
    NAME                    DATA  AGE
    red-falcon-crm-mariadb  1     1s
    
    ==> v1/PersistentVolumeClaim
    NAME                              STATUS   VOLUME                                    CAPACITY  ACCESS MODES  STORAGECLASS  AGE
    red-falcon-crm-mariadb            Bound    pvc-cf72d52d-bea1-11e7-b8a4-080027c951c6  8Gi       RWO           standard      1s
    red-falcon-crm-suitecrm-apache    Pending  standard                                  1s
    red-falcon-crm-suitecrm-suitecrm  Pending  standard                                  1s
    
    ==> v1/Service
    NAME                     TYPE          CLUSTER-IP  EXTERNAL-IP  PORT(S)                     AGE
    red-falcon-crm-mariadb   ClusterIP     10.0.0.104  <none>       3306/TCP                    1s
    red-falcon-crm-suitecrm  LoadBalancer  10.0.0.89   <pending>    80:32750/TCP,443:31973/TCP  1s
    
    ==> v1beta1/Deployment
    NAME                    DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
    red-falcon-crm-mariadb  1        1        1           0          1s
    
    
    NOTES:
    ###############################################################################
    ### ERROR: You did not provide an external host in your 'helm install' call ###
    ###############################################################################
    
    This deployment will be incomplete until you configure SuiteCRM with a resolvable
    host. To configure SuiteCRM with the URL of your service:
    
    1. Get the SuiteCRM URL by running:
    
      NOTE: It may take a few minutes for the LoadBalancer IP to be available.
            Watch the status with: 'kubectl get svc --namespace default -w red-falcon-crm-suitecrm'
    
      export APP_HOST=$(kubectl get svc --namespace default red-falcon-crm-suitecrm --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
      export APP_PASSWORD=$(kubectl get secret --namespace default red-falcon-crm-suitecrm -o jsonpath="{.data.suitecrm-password}" | base64 --decode)
      export APP_DATABASE_PASSWORD=$(kubectl get secret --namespace default red-falcon-crm-mariadb -o jsonpath="{.data.mariadb-root-password}" | base64 --decode)
    
    2. Complete your SuiteCRM deployment by running:
    
      helm upgrade red-falcon-crm \
        --set suitecrmHost=$APP_HOST,suitecrmPassword=$APP_PASSWORD,mariadb.mariadbRootPassword=$APP_DATABASE_PASSWORD stable/suitecrm
    
    craig@craigs-laptop:~/redfalcon/gitlab/platform-setup/modules/suitecrm$ kubectl get svc --namespace default -w red-falcon-crm-suitecrm
    NAME                      TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)                      AGE
    red-falcon-crm-suitecrm   LoadBalancer   10.0.0.89    <pending>     80:32750/TCP,443:31973/TCP   3m
    ^Ccraig@craigs-laptop:~/redfalcon/gitlab/platform-setup/modules/suitecrm$ minikube service red-falcon-crm-suitecrm
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    Waiting, endpoint for service is not ready yet...
    

    我的价值观。yaml:

    ## Bitnami SuiteCRM image version
    ## ref: https://hub.docker.com/r/bitnami/suitecrm/tags/
    ##
    image: bitnami/suitecrm:7.9.7-r0
    
    ## Specify a imagePullPolicy
    ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
    ##
    imagePullPolicy: IfNotPresent
    
    ## SuiteCRM host to create application URLs
    ## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration
    ##
    # suitecrmHost:
    
    ## loadBalancerIP for the SuiteCRM Service (optional, cloud specific)
    ## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer
    ##
    # suitecrmLoadBalancerIP:
    
    ## User of the application
    ## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration
    ##
    suitecrmUsername: craig
    
    ## Application password
    ## Defaults to a random 10-character alphanumeric string if not set
    ## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration
    ##
    suitecrmPassword: <hadmypasswordhere>
    
    ## Admin email
    ## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration
    ##
    suitecrmEmail: <hadmyemail>@gmail.com
    
    ## Lastname
    ## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration
    ##
    suitecrmLastName: <hadmylastname>
    
    ## SMTP mail delivery configuration
    ## ref: https://github.com/bitnami/bitnami-docker-suitecrm/#smtp-configuration
    ##
    # suitecrmSmtpHost:
    # suitecrmSmtpPort:
    # suitecrmSmtpUser:
    # suitecrmSmtpPassword:
    # suitecrmSmtpProtocol:
    
    ##
    ## MariaDB chart configuration
    ##
    mariadb:
      ## MariaDB admin password
      ## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run
      ##
      mariadbRootPassword: <hadMyPasswordHere>
    
      ## Enable persistence using Persistent Volume Claims
      ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
      ##
      persistence:
        enabled: true
        ## mariadb data Persistent Volume Storage Class
        ## If defined, storageClassName: <storageClass>
        ## If set to "-", storageClassName: "", which disables dynamic provisioning
        ## If undefined (the default) or set to null, no storageClassName spec is
        ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
        ##   GKE, AWS & OpenStack)
        ##
        # storageClass: "-"
        accessMode: ReadWriteOnce
        size: 8Gi
    
    ## Kubernetes configuration
    ## For minikube, set this to NodePort, elsewhere use LoadBalancer
    ##
    serviceType: LoadBalancer
    
    ## Enable persistence using Persistent Volume Claims
    ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
    ##
    persistence:
      enabled: true
      apache:
        ## apache data Persistent Volume Storage Class
        ## If defined, storageClassName: <storageClass>
        ## If set to "-", storageClassName: "", which disables dynamic provisioning
        ## If undefined (the default) or set to null, no storageClassName spec is
        ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
        ##   GKE, AWS & OpenStack)
        ##
        # storageClass: "-"
        accessMode: ReadWriteOnce
        size: 1Gi
      suitecrm:
        ## suitecrm data Persistent Volume Storage Class
        ## If defined, storageClassName: <storageClass>
        ## If set to "-", storageClassName: "", which disables dynamic provisioning
        ## If undefined (the default) or set to null, no storageClassName spec is
        ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
        ##   GKE, AWS & OpenStack)
        ##
        # storageClass: "-"
        accessMode: ReadWriteOnce
        size: 8Gi
    
    ## Configure resource requests and limits
    ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
    ##
    resources: {}
      # requests:
      #   memory: 512Mi
      #   cpu: 300m
    

    我确实查看了正在运行的服务的日志(通过minikube仪表板)。实际上,这并没有多大用处,但它似乎取决于准备CRM环境。它永远不会超越这一点。。。

         nami    INFO  Initializing apache
    apache  INFO  ==> Patching httpoxy...
    nami    INFO  apache successfully initialized
    nami    INFO  Initializing php
    nami    INFO  php successfully initialized
    nami    INFO  Initializing suitecrm
    suitecr INFO  Preparing webserver environment...
    suitecr INFO  Preparing PHP environment...
    suitecr INFO  Preparing suitecrm environment...
    

    服务端点从未准备好,也似乎从未完成部署。任何帮助都将不胜感激。

    2 回复  |  直到 6 年前
        1
  •  1
  •   mornindew    7 年前

    我从来没有得到掌舵图工作,但我确实找到了一个工作。通过传统的kubctrl安装效果很好。我使用了这里提供的方法:

    https://github.com/bitnami/bitnami-docker-suitecrm

        2
  •  1
  •   Javier Salmeron    7 年前

    我认为问题在于没有正确设置suitecrm主机。它配置为使用LoadBalancer,但在使用minikube时,需要使用与helm显示的命令不同的命令手动设置APP\u主机变量。我就是这么做的:

    helm install --name red-falcon-crm -f values.yaml stable/suitecrm
    export APP_HOST=$(minikube ip):$(kubectl get svc red-falcon-crm-suitecrm --template "{{ (index .spec.ports 0).nodePort }}")
    helm upgrade red-falcon-crm --set suitecrmHost=$APP_HOST -f values.yaml stable/suitecrm