Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 87 additions & 6 deletions docs/user-guide/creating-application/deployment-template.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

# Deployment Template

Deployment configuration is the Manifest for the application, it defines the runtime behavior of the application. You can define application behavior by providing information in three sections:
Expand Down Expand Up @@ -32,20 +33,34 @@ This defines ports on which application services will be exposed to other servic

```yaml
ContainerPort:
envoyPort: 8799
idleTimeout:
name: app
port: 8080
servicePort: 80
supportStreaming: true
useHTTP2: true
```

| Key | Description |
| :--- | :--- |
| `name` | name of the container |
| `port` | port for the container |
| `servicePort` | service port for the container |
| `envoyPort` | envoy port for the container. |
| `idleTimeout` | the duration of time that a connection is idle before the connection is terminated. |
| `name` | name of the port. |
| `port` | port for the container. |
| `servicePort` | port of the corresponding kubernetes service. |
| `supportStreaming` | Used for high performance protocols like grpc where timeout needs to be disabled. |
| `useHTTP2` | Envoy container can accept HTTP2 requests. |

### EnvVariables
```yaml
EnvVariables: []
```
To set environment variables for the containers that run in the Pod.

### Liveness Probe

If this check fails, kubernetes restarts the pod. This should return error code in case of non-recoverable error
If this check fails, kubernetes restarts the pod. This should return error code in case of non-recoverable error.

```yaml
LivenessProbe:
Expand All @@ -57,7 +72,7 @@ LivenessProbe:
timeoutSeconds: 5
failureThreshold: 3
```

| Key | Description |
| :--- | :--- |
| `Path` | It define the path where the liveness needs to be checked. |
Expand All @@ -67,6 +82,28 @@ LivenessProbe:
| `successThreshold` | It defines the number of successes required before a given container is said to fulfil the liveness probe. |
| `timeoutSeconds` | It defines the time for checking timeout. |

### MaxUnavailable

```yaml
MaxUnavailable: 0
```
The maximum number of pods that can be unavailable during the update process. The value of "MaxUnavailable: " can be an absolute number or percentage of the replicas count. The default value of "MaxUnavailable: " is 25%.

### MaxSurge

```yaml
MaxSurge: 1
```
The maximum number of pods that can be created over the desired number of pods. For "MaxSurge: " also, the value can be an absolute number or percentage of the replicas count.
The default value of "MaxSurge: " is 25%.

### Min Ready Seconds

```yaml
MinReadySeconds: 60
```
This specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing, for it to be considered available. This defaults to 0 (the Pod will be considered available as soon as it is ready).

### Readiness Probe

If this check fails, kubernetes stops sending traffic to the application. This should return error code in case of errors which can be recovered from if traffic is stopped
Expand Down Expand Up @@ -102,6 +139,7 @@ autoscaling:
MaxReplicas: 2
TargetCPUUtilizationPercentage: 90
TargetMemoryUtilizationPercentage: 80
extraMetrics: []
```

| Key | Description |
Expand All @@ -110,7 +148,8 @@ autoscaling:
| `MinReplicas` | Minimum number of replicas allowed for scaling. |
| `TargetCPUUtilizationPercentage` | The target CPU utilization that is expected for a container. |
| `TargetMemoryUtilizationPercentage` | The target memory utilization that is expected for a container. |
| `enabled` | to enable autoscaling or don't enable it. |
| `enabled` | Set true to enable autoscaling else set false.|
| `extraMetrics` | Used to give external metrics for autoscaling. |

### Image

Expand Down Expand Up @@ -163,6 +202,24 @@ ingressInternal:
| `host` | Host name |
| `tls` | It contains security details |

### Init Containers
```yaml
initContainers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
command: ["/usr/local/bin/nginx"]
args: ["-g", "daemon off;"]
```
Specialized containers that run before app containers in a Pod. Init containers can contain utilities or setup scripts not present in an app image.

### Pause For Seconds Before Switch Active
```yaml
pauseForSecondsBeforeSwitchActive: 30
```
To wait for given period of time before swith active the container.

### Resources

These define minimum and maximum RAM and CPU available to the application
Expand Down Expand Up @@ -300,6 +357,24 @@ Containers section can be used to run side-car containers along with your main c

It is a kubernetes monitoring tool and the name of the file to be monitored as monitoring in the given case.It describes the state of the prometheus.

### rawYaml

```yaml
rawYaml: []
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
```
Accepts an array of Kubernetes objects. You can specify any kubernetes yaml here and it will be applied when your app gets deployed.

### Grace Period

```yaml
Expand Down Expand Up @@ -479,6 +554,12 @@ autoscaling:

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 540 to 547 is not an example of custom metrics.

HPA, by default is configured to work with CPU and Memory metrics. These metrics are useful for internal cluster sizing, but you might want to configure wider set of metrics like service latency, I/O load etc. The custom metrics in HPA can help you to achieve this.

### Wait For Seconds Before Scaling Down
```yaml
waitForSecondsBeforeScalingDown: 30
```
Wait for given period of time before scaling down the container.

### 3. Show application metrics

If you want to see application metrics like different HTTP status codes metrics, application throughput, latency, response time. Enable the Application metrics from below the deployment template Save button. After enabling it, you should be able to see all metrics on App detail page. By default it remains disabled.
Expand Down
20 changes: 10 additions & 10 deletions docs/user-guide/global-configurations/user-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ In the `Email address` box, you have to provide the mail ID of the user to whom

If you check the option `Assign super admin permissions`, the user will get full access to your system and the rest of the options will disappear. Please check [above](#access-levels) to see permission levels.

![](../../.gitbook/assets/user_gc1%20(3)%20(4).png)
![](../../.gitbook/assets/user_gc1-(3)-(4).png)

Click on `Save` and your user will be saved with super admin permissions.

Expand Down Expand Up @@ -121,7 +121,7 @@ Similarly, you can select `Applications` from the drop-down corresponding to you

There are four different view access levels/Role available for both User and Group as described [above](#access-levels):

![](../../.gitbook/assets/gc-user-access-configure-direct-permission%20(3)%20(6).jpg)
![](../../.gitbook/assets/gc-user-access-configure-direct-permission-(3)-(6).jpg)

You can add multiple rows, for Direct Permissions.

Expand All @@ -135,17 +135,17 @@ You can either give the users permission to `Create` or `Edit`.

Click on the checkbox of `Create`, if you want the users to create, view, edit, or delete all the chart groups.

![](../../.gitbook/assets/gc-user-access-configure-chart-permission%20(1)%20(3)%20(4).jpg)
![](../../.gitbook/assets/gc-user-access-configure-chart-permission-(1)-(3)-(4).jpg)

Click on the checkbox of `Edit`, if you want to `allow` or `deny` users to edit the chart groups.

Select on `Deny` option from the drop-down menu, if you want to restrict the users to edit the chart groups.

![](../../.gitbook/assets/user5%20(2).jpg)
![](../../.gitbook/assets/user5-(2).jpg)

Select the `Specific Charts` option from the drop-down menu, and then select the chart groups for which you want to allow users to edit, from the other drop-down menu.

![](../../.gitbook/assets/user6%20(1)%20(6).jpg)
![](../../.gitbook/assets/user6-(1)-(6).jpg)

Click on `Save`, once you have configured all the required permissions for the users.

Expand All @@ -157,7 +157,7 @@ You can edit the user permissions, by clicking on the `downward arrow`.

Then you can edit the user permissions here.

![](../../.gitbook/assets/gc-user-access-edit-user-permission%20(6).jpg)
![](../../.gitbook/assets/gc-user-access-edit-user-permission-(6).jpg)

After you have done editing the user permissions. Click on `Save`.

Expand All @@ -173,19 +173,19 @@ You can select the group which you are creating in the `Group permissions` secti

Click on `Add Group`, to create a new group.

![](../../.gitbook/assets/user7%20(2)%20(5).jpg)
![](../../.gitbook/assets/user7-(2)-(5).jpg)

Enter the `Group Name` and `Description`.

![](../../.gitbook/assets/gc-user-access-add-group-name%20(2).jpg)
![](../../.gitbook/assets/gc-user-access-add-group-name-(2).jpg)

### 2. Create Group Permissions

Once you have given the group name and group description.

Then, control the access permissions of groups in the Direct Permissions section. Manage the Project, Environment, Application, and Role access the same as we discuss in the above users section.

![](../../.gitbook/assets/gc-user-access-add-group-configure%20(3).jpg)
![](../../.gitbook/assets/gc-user-access-add-group-configure-(3).jpg)

You can add multiple rows, for the Direct Permissions section.

Expand All @@ -199,7 +199,7 @@ You can edit the group permissions, by clicking on the `downward arrow.`

Then you can edit the user permissions here.

![](../../.gitbook/assets/gc-user-access-add-group-edit-configure%20(3).jpg)
![](../../.gitbook/assets/gc-user-access-add-group-edit-configure-(3).jpg)

Once you are done editing the group permissions. Click on `Save`.

Expand Down