- Where can I download the playground CLI?
- Using kubectl with the napptive-kubeconfig shows a v1alpha1 authentication error
- My application is deployed but not running
- I cannot deploy an application
- My application seems broken
- I cannot connect to my app
- I deployed some applications and now there is none
- Somehow my applications where rebooted?
- My application fails to start due to some permission issue
- My components fail to start when trying to use port 80
- My account is stuck
- How to open an invoice
- I have an issue with billing
- I have found a problem and it is not covered on the FAQ. Help!
Recent changes in the core Kubernetes have deprecated the use of
client.authentication.k8s.io/v1alpha1 for authentication. Some of the errors that you may be experiencing could look like:
Unable to connect to the server: getting credentials: exec plugin is configured to use API version client.authentication.k8s.io/v1alpha1, plugin returned version client.authentication.k8s.io/v1beta1
error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"
To solve this issues, follow the instructions to update the CLI to the latest version
In some cases, an application configuration may be deployed, but some requirements may fail. Each cluster is assigned with a quota, and if the application requests more resources than available, it will not be possible to deploy the application. To diagnose the issue:
The quota information can be obtained through the CLI or web.
using the CLI:
playground env info
Server version: v1.21.5-gke.1802 OAM: v0.2.1 CREATION_TIME CREATED_BY 2021-09-07 15:24:22.457896 +0000 UTC <user> ACCOUNT ENV CPU RAM STORAGE <account> <env> 0/1 0/4000 0/1000 <account> <env> 0/1 0/4000 0/1000 DESCRIPTION <description>
- List the running applications and check the status to see if any is not running (use
playground appson the CLI or access through the web).
- Obtain information from the application.
kubectl --kubeconfig <path_to>/napptive-kubeconfig get applications.core.oam.dev failing-app
or check the rendered low-level kubernetes deployment
kubectl --kubeconfig <path_to>/napptive-kubeconfig get deployment failing-component -oyaml
Quota errors will be reflect on the status as:
status: conditions: - lastTransitionTime: "<datetime>" lastUpdateTime: "<datetime>" message: Created new replica set "failing-component-<hash>" reason: NewReplicaSetCreated status: "True" type: Progressing - lastTransitionTime: "<datetime>" lastUpdateTime: "<datetime>" message: Deployment does not have minimum availability. reason: MinimumReplicasUnavailable status: "False" type: Available - lastTransitionTime: "<datetime>" lastUpdateTime: "<datetime>" message: 'pods "failing-component-<hash>" is forbidden: exceeded quota: user-quota, requested: memory=256Mi, used: memory=768Mi, limited: memory=1G' reason: FailedCreate status: "True" type: ReplicaFailure
To address this scenario, we recommend checking the request resources for each component and adjusting them if necessary.
Deployment failures may be related to three scenarios: login issues, application definition issues. or quota limitations
- Login issues
Try login again with the CLI to launch the application
Logged into account [...] - environment [...]
- Invalid YAML files
- Quota exceeded
See previous FAQ question on how to diagnose this issue.
To connect to the web interface of an application, make sure an ingress trait is associated with the target components and the port and path are correct. To connect to a service that is not intended for public exposure, first list the associated services.
kubectl --kubeconfig <path_to>/napptive-kubeconfig get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE drawio ClusterIP 10.48.4.209 <none> 8080/TCP 133m
And use port-forwarding
kubectl --kubeconfig <path_to>/napptive-kubeconfig port-forward service/drawio 7000:8080
Forwarding from 127.0.0.1:7000 -> 8080 Forwarding from [::1]:7000 -> 8080
And connect to localhost:7000 to reach the web. Notice that the port-fordwarding syntax specifies the ports as
The playground is offered as a free service with some restrictions. In particular, applications will be shutdown after 24 hours. If you need more time contact us and discover our offerings.
As any other SaaS based cloud, sometimes the underlying infrastructure changes (e.g., new hardware is deployed, maintenance operations). In those cases you may experience a reboot of the applications.
You may see some errors either after executing
kubectl create commands such as:
Error from server (Forbidden): error when creating "some_pod.yaml": pods "try-run-as-root" is forbidden: PodSecurityPolicy: unable to admit pod: [spec.containers.securityContext.runAsUser: Invalid value: 0: running with the root UID is forbidden]
or when listing pods:
k --kubeconfig napptive-kubeconfig get pods
NAME READY STATUS RESTARTS AGE my-component-74c66cff8c-l4fv5 0/1 CreateContainerConfigError 0 5s
with the pod reporting:
message: container has runAsNonRoot and image will run as root reason: CreateContainerConfigError
These errors are related to the security mechanisms implemented in the Playground to provide security in a multi-tenant environment. Check Understanding the Playground to obtain an overview of the security restrictions that apply. The common remediation for this problems is to add:
containers: - name: <my-container> securityContext: runAsUser: 1000
The security mechanisms implemented in the Playground to provide security in a multi-tenant environment. As a result running containers with
root user or binding to commonly reserved ports such as 80 is forbidden. Check Understanding the Playground to obtain an overview of the security restrictions that apply. The common remediation for this problem is to change the port the component is listening on. This is usually done by modifying an environment variable that is component dependent. Check the documentation of the component for more information.
Your account may have been blocked for various reasons, contact us for more information.
Go to your personal settings screen, select plans & billings tab. You can access the list of invoices ready to be downloaded.
For any problem related with billing, [contact us] for support.
We are happy to help you achieve your objectives, contact us and discover how we can help you achieve your goals.