Add support information
Collect valuable information for Solo to review and troubleshoot your support request.
Environment
- Get your Gloo Mesh (Gloo Platform APIs) version that you run in the management cluster.
meshctl --kubecontext $MGMT_CONTEXT version - Get the version of Kubernetes that you run in each of your clusters.
kubectl --context $MGMT_CONTEXT version -o yaml kubectl --context $REMOTE_CONTEXT version -o yaml - Get the Istio version that you run in each of your workload clusters.
istioctl --context $REMOTE_CONTEXT version - List the infrastructure provider that hosts your environment, such as AWS or GCP.
Setup
Share the installation method that you used to install Gloo Mesh (Gloo Platform APIs), such as Helm, meshctl, or Argo CD, and the configuration that you used during the installation.
Use the following command to extract the Helm manifests that were used for the Gloo Mesh (Gloo Platform APIs) installation on the management cluster.
Replace release-name and gloo-mesh-namespace with the values that you used for your installation.
helm --kube-context $MGMT_CONTEXT get all <release-name> --namespace <gloo-mesh-namespace> > gloo_mgmt_server_helm.yamlTo extract the agent Helm installation configuration use the following command on the workload clusters.
helm --kube-context $REMOTE_CONTEXT get all <release-name> --namespace <gloo-mesh-namespace> > gloo_agent_helm.yamlShare the complete command that you used to install Gloo Mesh (Gloo Platform APIs). The following command shows an example command that you might have used.
meshctl install --profiles gloo-mesh-enterprise-single,ratelimit,extauth \
--set common.cluster=<cluster-name> \
--set licensing.glooMeshLicenseKey=<gloo-mesh-license-key>Get the Argo CD applications that define the installation of Gloo Mesh (Gloo Platform APIs) by using one of the following methods.
kubectl:kubectl get applications.argoproj.io/<applicationName> -n <namespaceName> -o yaml- Argo CD CLI:
argocd app get <applicationName> -o yaml
Issue
- Provide a detailed description of the issue. Make sure to include the following information:
- If reproducible, steps to reproduce the issue.
- Number of workload clusters.
- If reproducible, steps to reproduce the issue.
- Federated trust details, such as self-signed certificates or certificates provided by a certificate management provider.
- High-level diagram of the clusters showing where Gloo Mesh (Gloo Platform APIs) components and applications are running.
- If you use workspaces, details of how the workspaces are configured.
- Details of the Istio installation and configuration.
- Describe the impact of the issue. For example, the issue might block an update or a demo, or cause the loss of data or an entire system.
- Export the relevant configuration files that are related to the issue.
gloo-mesh-configuration.yaml file to your support request.for n in $(kubectl --context <cluster context> get crds | grep solo.io | awk '{print $1}'); do kubectl --context <cluster context> get $n --all-namespaces -o yaml >> gloo-mesh-configuration.yaml; echo "---" >> gloo-mesh-configuration.yaml; done- Istio resources: Use the following command to create an Istio bug report that you can attach to your support request. Run it against all the impacted workload clusters.
istioctl --context $REMOTE_CONTEXT bug-report --istio-namespace <istio-control-plane-namespace>
Product-specific details
Gloo Mesh (Gloo Platform APIs)
Capture the output of the
meshctl --kubecontext $MGMT_CONTEXT checkcommand.
Typically, the command output indicates any license errors or details of unhealthy agents, such as in the following example.🟢 License statusINFO gloo-mesh Trial license expiration is 02 Nov 32 10:32 GMT INFO gloo-network Trial license expiration is 22 Aug 33 09:53 GMT INFO gloo-gateway Trial license expiration is 11 Nov 32 21:33 GMT
🟢 CRD version check
🟢 Gloo Platform deployment status
Namespace | Name | Ready | Status gloo-mesh | gloo-mesh-mgmt-server | 0/0 | Healthy gloo-mesh | gloo-mesh-redis | 1/1 | Healthy gloo-mesh | gloo-mesh-ui | 1/1 | Healthy gloo-mesh | gloo-telemetry-gateway | 1/1 | Healthy gloo-mesh | prometheus-server | 1/1 | Healthy gloo-mesh | gloo-telemetry-collector-agent | 3/3 | Healthy
🔴 Mgmt server connectivity to workload agents
ERROR cluster east-mesh is registered but not connected ERROR cluster west-mesh is registered but not connected Cluster | Registered | Connected Pod east-mesh | true | Not connected west-mesh | true | Not connected
Connected Pod | Clusters Not connected | 2 ERROR Encountered failed checks.
<button class=“hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50” title=“Copy code” aria-label=“Copy code” data-copied-label=“Copied!”<div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>Collect the logs for various components that are impacted by the issue, such as
gloo-mesh-mgmt-server,gloo-telemetry-gateway,gloo-mesh-redis, orgloo-mesh-ui. The components vary depending on your Gloo Mesh (Gloo Platform APIs) setup and can be found by default in thegloo-meshnamespace.
Example: Follow the steps below to get the logs for themgmt-servercontroller pod.Optional: Set the log level to
debug.Run the following command in a non-production environment only. Changing the log level requires management plane components to restart.kubectl --context $MGMT_CONTEXT patch -n <gloo-namespace> deploy/gloo-mesh-mgmt-server --type "json" -p '[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--verbose=true"}]'Capture the logs when reproducing the issue.
kubectl --context $MGMT_CONTEXT logs -f deploy/gloo-mesh-mgmt-server -n <gloo-namespace> > gloo.logOptional: After you capture the logs, reset the log level to
info.Run the following command in a non-production environment only. Changing the log level requires management plane components to restart.kubectl --context $MGMT_CONTEXT patch -n <gloo-namespace> deploy/gloo-mesh-mgmt-server --type "json" -p '[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--verbose=false"}]'Repeat these steps for all the Gloo Mesh (Gloo Platform APIs) components in the management cluster.
Get the full debug report for each cluster that is impacted by the issue. The following command creates a
tgzfile that you can attach to your support ticket.Depending on the size of your cluster, this command might take a few minutes to complete.meshctl --kubecontext $MGMT_CONTEXT debug report meshctl --kubecontext $REMOTE_CONTEXT debug report
Istio
- If you used Helm to install Istio in the workload clusters, get the Helm configuration that you used during your installation.
helm --kube-context $REMOTE_CONTEXT get all <release-name> --namespace <istio-system-namespace> > istio_installation_helm.yaml