SuiteCRM 安装于 Minikube/K8s
SuiteCRM Install on Minikube/K8s
我是 suiteCRM 的新手,我正在尝试部署到 Minikube。我正在使用 K8s 存储库中的 helm 图表:
https://github.com/kubernetes/charts/tree/master/stable/suitecrm
我正在使用命令:
helm install --name red-falcon-crm -f values.yaml stable/suitecrm
我修改了 values.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...
我的Values.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...
服务端点从未就绪,而且似乎从未完成部署。任何帮助将不胜感激。
我从来没有让 helm chart 工作,但我确实找到了解决方法。通过传统的 kubectl 安装效果很好。我使用这里提供的方法:
我认为问题与未正确设置 suitecrm 主机有关。它被配置为使用 LoadBalancer,但是当您使用 minikube 时,您需要使用不同于 helm 显示的命令手动设置 APP_HOST 变量。这就是我为让它发挥作用所做的工作:
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
我是 suiteCRM 的新手,我正在尝试部署到 Minikube。我正在使用 K8s 存储库中的 helm 图表:
https://github.com/kubernetes/charts/tree/master/stable/suitecrm
我正在使用命令:
helm install --name red-falcon-crm -f values.yaml stable/suitecrm
我修改了 values.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...
我的Values.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...
服务端点从未就绪,而且似乎从未完成部署。任何帮助将不胜感激。
我从来没有让 helm chart 工作,但我确实找到了解决方法。通过传统的 kubectl 安装效果很好。我使用这里提供的方法:
我认为问题与未正确设置 suitecrm 主机有关。它被配置为使用 LoadBalancer,但是当您使用 minikube 时,您需要使用不同于 helm 显示的命令手动设置 APP_HOST 变量。这就是我为让它发挥作用所做的工作:
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