Merge branch 'portainer:master' into master

pull/189/head
samdulam 2021-07-30 11:52:02 +12:00 committed by GitHub
commit 546e75a40f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 181 additions and 200 deletions

View File

@ -6,11 +6,11 @@ For information about contributing to the Portainer documentation, see [Contribu
## :fontawesome-solid-address-card: About Portainer
Portainer Community Edition 2.0 is the foundation of the Portainer world. With over half a million regular users, its a powerful, open-source toolset that allows you to easily build and manage containers in Docker, Swarm, Kubernetes and Azure ACI.
Portainer Community Edition 2.0 is the foundation of the Portainer world. With over half a million regular users, its a powerful, open source toolset that allows you to easily build and manage containers in Docker, Docker Swarm, Kubernetes and Azure ACI.
Portainer works by hiding the complexity that makes managing containers hard, behind an easy to use GUI. By negating the need for users to use CLI, write YAML or understand manifests, Portainer makes deploying apps and troubleshooting problems so simple, anyone can do it.
Portainer hides the complexity of managing containers behind an easy to use GUI. By removing the need to use the CLI, write YAML or understand manifests, Portainer makes deploying apps and troubleshooting problems so simple that anyone can do it.
The Portainer development team is here to assist you on your container journey; you can engage with them any time through our community-based support channels.
The Portainer development team is here to assist you on your container journey. You can engage with them any time through our community-based support channels.
## :fontawesome-solid-question-circle: Knowledge Base and FAQs
@ -18,19 +18,19 @@ As the Portainer community continues to grow, we continue to support the communi
To streamline our operations and allow us to focus on delivering the right support and features in the right areas at the right time we encourage you to refer to our comprehensive <b>[Knowledge Base](https://support.portainer.io)</B> for any queries you may have.
If you can't find what you're looking for Knowledge Base then please refer to one of the following support channels
If you can't find what you're looking for in our Knowledge Base then please refer to one of the support channels listed below.
## :material-comment-account: Support Channels
Being a free and opensource product, we have been heavily reliant on our community to provide "how to" support to our community, recently we have invested significant time in improving and updating our documentation found on this site and our [YouTube channel](https://www.youtube.com/channel/UC7diMJcrULjDseq5yhSUZgg). While we endeavour to cover as many scenarios as possible there may be some that our documentation doesnt cover.
As a free and open source product, we have been heavily reliant on our community to provide "how to" support to our community, recently, we have invested significant time in improving and updating our documentation found on this site and our [YouTube channel](https://www.youtube.com/channel/UC7diMJcrULjDseq5yhSUZgg). While we endeavour to cover as many scenarios as possible, there may be some that our documentation doesnt cover.
* <b>QUESTIONS</b> should be posted to either [Github Issues](https://github.com/portainer/portainer/issues) or the [community Slack channel](https://portainer.slack.com/join/shared_invite/enQtNDk3ODQ5MjI2MjI4LTcwNGYxMWQ5OGViYWZkNDY2ZjY4YTMwMTgzYmU4YmNiOTU0MDcxYmJjNTIyYmQ0MTM5Y2QwNTg3NzNkMTk5MDg#/). While other platforms exist (Reddit, Discord, Stack Overflow) the Portainer team is less active in these.
* <b>QUESTIONS</b> should be posted to either [Github Issues](https://github.com/portainer/portainer/issues) or to the [community Slack channel](https://portainer.slack.com/join/shared_invite/enQtNDk3ODQ5MjI2MjI4LTcwNGYxMWQ5OGViYWZkNDY2ZjY4YTMwMTgzYmU4YmNiOTU0MDcxYmJjNTIyYmQ0MTM5Y2QwNTg3NzNkMTk5MDg#/). While we offer other platforms for questions (Reddit, Discord, Stack Overflow) the Portainer team will be less active in these.
* Suspected <b>BUGS</b> should be posted to Github and will be managed by our support and development teams as appropriate.
* Suspected <b>BUGS</b> should be posted to Github. There they will be appropriately managed by our support and development teams.
* <b>VULNERABILITIES</b> should be emailed to [security@portainer.io](mailto:security@portainer.io) and will be dealt with immediately.
* <B>ISSUES IN OUR DOCUMENTATION</B> can be raised through our [Github Documentation Channel](https://github.com/portainer/portainer-docs/issues), or you can follow the user contribution guidelines.
* <B>ISSUES IN OUR DOCUMENTATION</B> can be raised through our [Github Documentation Channel](https://github.com/portainer/portainer-docs/issues), or you can follow the user-contribution guidelines.
We will not provide support over email.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 135 KiB

View File

@ -11,15 +11,16 @@ First select the <b>Endpoint</b> you want to add a container to, then select <b>
Add details to your container:
* Name: Friendly name for your container
* <b>Name</b>: Friendly name for your container
* Registry: Where your image is hosted
* <b>Registry</b>: Where your image is hosted
Note: when using DockerHub you can use the Search button to search for the image you have entered to ensure you have the correct name and tag. Portainer also displays the number of pulls remaining for your DockerHub account when using an anonymous account.
* Image: The name of the image you want to deploy
* <b>Image</b>: The name of the image you want to deploy
* Ports: Expose the desired ports
* <b>Ports</b>: Expose the desired ports
* Advanced Settings: Many options available here to customise the deploymeny from volume and environment configuration to capabilities
* <b>Advanced Settings</b>: Many options available here to customise the deployment from volume and environment configuration to capabilities
Once complete, click <b>Deploy the Container<b/>.
![container](assets/create_2.png)

View File

@ -6,11 +6,11 @@ Viewing container logs is one of the most important features for troubleshooting
To view a container logs, click <b>Containers</b> and then select your container.
![logs](assets/inspect-1.png)
![logs](assets/logs-1.png)
Then click <b>Logs</b>
![logs](assets/logs-1.png)
![logs](assets/logs-2.png)
In the following screen, you will see a few options:
@ -22,7 +22,7 @@ In the following screen, you will see a few options:
* Lines: Specify how many lines you want to the see in the logs; default is 100.
* Actions: You can copy all the logs displayed or a select number of lines.
![logs](assets/logs-2.png)
![logs](assets/logs-3.png)
## :material-note-text: Notes

View File

@ -1,26 +1,28 @@
# View Container Stats
Stats are very important to understand the resource consumption of yours containers. In Portainer, you are able to monitor this from the UI.
Stats are very important to understand the resource consumption of your containers. In Portainer, you are able to monitor this from the UI.
## Viewing Container Stats
First Click <b>Containers</b>, select the container you want to see the stats.
First click <b>Containers</b>, then select the container.
![stats](assets/inspect-1.png)
![stats](assets/stats-1.png)
Then click <b>Stats</b>
![stats](assets/stats-1.png)
![stats](assets/stats-2.png)
Here, you can view a very comprehensive list of consumption stats:
* Memory Usage
* CPU Usage
* Network Usage: RX and TX
* Process running in the container
* Refresh Rate: You can configure time intervals to get new stats data.
* I/O Usage
* Processes running in the container
![stats](assets/stats-2.png)
You can also configure the refresh rate of the displayed stats from the dropdown box.
![stats](assets/stats-3.png)
## :material-note-text: Notes

View File

@ -57,8 +57,7 @@ Alternatively, if installing using our helm chart you can add the following opti
=== "Deploy using Helm"
!!! Abstract ""
### :fontawesome-solid-server: Portainer Server Deployment
Ensure you're using at least helm v3.2, which [includes support](https://github.com/helm/helm/pull/7648) for the `--create-namespace` argument.
Ensure you're using at least Helm v3.2, which [includes support](https://github.com/helm/helm/pull/7648) for the `--create-namespace` argument.
First, add the Portainer helm repo running the following:
@ -70,7 +69,7 @@ Alternatively, if installing using our helm chart you can add the following opti
helm repo update
```
Based on how you would like expose Portainer Service, Select an option below
Based on how you would like to expose the Portainer service, select an option below:
=== "NodePort"
Using the following command, Portainer will be available on port 30777.
@ -81,7 +80,7 @@ Alternatively, if installing using our helm chart you can add the following opti
```
=== "Ingress"
Using the following command, Poratainer service will be assigned a Cluster IP. You should use this with an Ingress, see Chart Configuration Options for Ingress related options.
Using the following command, the Portainer service will be assigned a Cluster IP. You should use this with an Ingress, see Chart Configuration Options for Ingress related options.
```shell
helm install --create-namespace -n portainer portainer portainer/portainer \
@ -147,13 +146,13 @@ Alternatively, if installing using our helm chart you can add the following opti
### :fontawesome-solid-laptop: Portainer Agent Only Deployment
Helm chart for Agent Only Deployments will be available soon.
In the mean time please head over to YAML Manifests tab.
Helm charts for Agent Only Deployments will be available soon.
In the meantime please head over to YAML Manifests tab.
=== "Deploy using YAML Manifests"
!!! Abstract ""
### :fontawesome-solid-server: Portainer Server Deployment
Based on how you would like expose Portainer Service, Select an option below
Based on how you would like to expose the Portainer Service, select an option below:
=== "NodePort"
Using the following command, Portainer will be available on port 30777.
@ -252,7 +251,7 @@ Alternatively, if installing using our helm chart you can add the following opti
???+ Tip "Regarding Persisting Data"
The charts/manifests will create a persistent volume for storing Portainer data, using the default StorageClass.
In some Kubernetes clusters (microk8s), the default Storage Class simply creates hostPath volumes, which are not explicitly tied to a particular node. In a multi-node cluster, this can create an issue when the pod is terminated and rescheduled on a different node, "leaving" all the persistent data behind and starting the pod with an "empty" volume.
In some Kubernetes clusters (for example microk8s), the default StorageClass simply creates hostPath volumes, which are not explicitly tied to a particular node. In a multi-node cluster, this can create an issue when the pod is terminated and rescheduled on a different node, "leaving" all the persistent data behind and starting the pod with an "empty" volume.
While this behaviour is inherently a limitation of using hostPath volumes, a suitable workaround is to use add a nodeSelector to the deployment, which effectively "pins" the Portainer pod to a particular node.
@ -262,7 +261,7 @@ Alternatively, if installing using our helm chart you can add the following opti
nodeSelector: kubernetes.io/hostname: \<YOUR NODE NAME>
2. Explicitly set the target node when deploying/updating the helm chart on the CLI, by including `--set nodeSelector.kubernetes.io/hostname=<YOUR NODE NAME>`
2. Explicitly set the target node when deploying/updating the Helm chart on the CLI, by including `--set nodeSelector.kubernetes.io/hostname=<YOUR NODE NAME>`
3. If you've deployed Portainer via manifests, without Helm, run the following one-liner to "patch" the deployment, forcing the pod to always be scheduled on the node it's currently running on:

View File

@ -12,7 +12,7 @@ Edge stacks lets you deploy an app to all selected edge endpoints concurrently,
Next 1. <b>Name</b> your stack and 2. select one or more <b>Edge Groups</b>.
3. In the <b>Build Methond</b> you need to define how to deploy your app from one of these options:
3. In the <b>Build Method</b> you need to define how to deploy your app from one of these options:
* Web Editor: You can use our web editor to write or paste a docker-compose file.
* Upload: Upload a docker-compose.yml file from your computer

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -1,14 +1,13 @@
# Add a Docker Swarm Endpoint
Add a Docker Swarm Endpoint is very straighforward in Portainer Business 2.0.
Add a Docker Swarm Endpoint is very straighforward in Portainer.
## Deploy the Agent.
Once logged into Portainer, go to <b>Endpoints</b> and select <b>Agent</b> as the <b>Environment Type</b>.
In the tabbed section below titled <b>Information</b>, select <b>Docker Swarm</b> and copy the command.
Note: It is important run the command in the Docker Swarm host before to fill the environment details.
Note: It is important run the command on the Docker Swarm host before adding the endpoint in Portainer to ensure the configuration is set up correctly.
![swarm_endpoint](assets/swarm_1.png)
@ -16,7 +15,7 @@ Use this same command each time you want to add a new Docker Swarm endpoint:
<pre><code>curl -L https://downloads.portainer.io/agent-stack.yml -o agent-stack.yml && docker stack deploy --compose-file=agent-stack.yml portainer-agent</code></pre>
Once running in the Docker Swam host, the terminal will reply with something similar to:
The command will output something similar to:
<pre><code> % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
@ -24,11 +23,11 @@ Once running in the Docker Swam host, the terminal will reply with something sim
Creating network portainer-agent_portainer_agent
Creating service portainer-agent_agent</code></pre>
To validate is the Agent is running, you can run the following command:
To validate the Portainer Agent is running, you can run the following command:
<pre><code> docker service ls</code></pre>
The result of that command should be something like this:
which should respond with something like this:
<pre><code>ID NAME MODE REPLICAS IMAGE PORTS
tshb6ee2710s portainer-agent_agent global 1/1 portainer/agent:latest</code></pre>
@ -37,11 +36,11 @@ Now, we're ready to move on to the next step.
## Finishing the configuration
Once the Agent is running in the Docker Swarm host, you need to fill the <b>environment details</b>. The following options are available:
Once the Agent is running on the Docker Swarm host, you need to fill in the <b>environment details</b>. The following options are available:
* Name: This is a descriptive name for your endpoint. This field is required.
* Endpoint URL: Define your IP or name to connect to the endpoint (Docker Swarm Host) and specify the port (9001) if this is needed. This field is requiered.
* Public IP: URL or IP address where exposed containers will be reachable. This field is optional and will default to the endpoint URL.
* Endpoint URL: Define your IP or name to connect to the endpoint (Docker Swarm Host) and specify the port (9001) if this is needed. This field is required.
* Public IP: URL or IP address where exposed containers will be reachable. This field is optional and will default to the endpoint URL if not defined.
In the <b>Metadata</b> section, you can define a <b>group</b> and <b>tags</b> for this endpoint.
@ -49,10 +48,14 @@ See the following screenshot for reference.
![docker_swarm](assets/swarm_2.png)
When everything is set, you can click <b>Add Endpoint</b>. If successful, you will see this pop up at the top right corner.
When everything is set, you can click <b>Add Endpoint</b>. If successful, you will see this pop up at the top right corner:
![docker_swarm](assets/swarm_3.png)
and you will be able to see your new endpoint in the list on the home page:
![docker_swarm](assets/swarm_4.png)
## :material-note-text: Notes
[Contribute to these docs](https://github.com/portainer/portainer-docs/blob/master/contributing.md){target=_blank}

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

@ -1,6 +1,6 @@
# Add / Connect a new registry
Portainer can connect to many of the well-known registries including Quay.io, Azure Container Registry, Gitlab Container Registry, and a Custom Registry.
Portainer can connect to many of the well-known registries including Quay.io, ProGet, Azure Container Registry, Gitlab Container Registry, and a Custom Registry.
## Quay.io
To connect to a Quay registry, go to <b>Registries</b> and then <b>Add Registry</b>
@ -11,6 +11,15 @@ In the next screen, choose <b>Quay.io</b> and enter your <b>Username</b> and <b>
![registries](assets/quay.png)
## ProGet
To connect to a ProGet registry, go to <b>Registries</b> and then <b>Add Registry</b>
![registries](assets/registry1.png)
In the next screen, choose <b>ProGet</b> and enter the registry <b>Name</b>, <b>Registry URL</b>, the <b>Base URL</b> of the ProGet registry, your <b>Username</b> and <b>Password</b>, then click <b>Add registry</b>.
![registries](assets/proget.png)
## Azure Container Registry

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 115 KiB

View File

@ -2,15 +2,15 @@
In todays world you can easily have hundreds - if not thousands - of Docker-enabled devices in your environment. Most of these systems run without any form of clustering or run a lean orchestrator such as Docker Swarm or Kubernetes.
Remote devices may be distributed across multiple sites and/or across many different networks, some may even be attached to the internet using mobile data or satellite. To be managed effectively, engineers need a way to control distributed instances centrally, which is exactly what Portainer does with Edge Computer Features.
Remote devices may be distributed across multiple sites and/or across many different networks, some may even be attached to the internet using mobile data or satellite. To be managed effectively, engineers need a way to control distributed instances centrally, which is exactly what Portainer does with Edge Compute Features.
## Enabling Edge Compute Features
First you must enable Edge Compute in the Portainer Settings.
1. Click <b>Settings</b> and scroll down to <b>Edge Compute</b> section.
2. Enable the toggle and 3. click <b>Save Settings</b>
2. Enable the toggle
3. Click <b>Save Settings</b>
![edge](assets/edge_1.png)
@ -20,11 +20,11 @@ After that, you will see that a few options appear in the side menu.
## More Resources
Take a look to the Edge section in the User Guide to see how to use it.
Have a look at the Edge section in the User Guide to see how to use the Edge Compute functionality.
* [Deploy an Stack](/v2.0-be/edge/stacks/)
* [Deploy a Stack](/v2.0-be/edge/stacks/)
* [Add a Job](/v2.0-be/edge/jobs/add/)
* [Managind Edge Groups](/v2.0-be/edge/groups/)
* [Managing Edge Groups](/v2.0-be/edge/groups/)
# Notes

View File

@ -1,6 +1,9 @@
# Enable Host Management features
From Portainer, you can enable Host Management Features. The benefit of enabling this setting is to do Host system browsing, understand what PCI devices, and physical disk are present in the node.
From Portainer, you can enable Host Management Features. The benefit of enabling this setting is to enable host system browsing and the ability to interact directly with PCI devices and physical disks on the node.
!!! warning
This is a powerful and therefore dangerous feature. Please consider whether you need this functionality before enabling it.
To get access to this data from Portainer, you need to run the agent with the following environment variable <code>CAP_HOST_MANAGEMENT: 1</code>.
@ -11,14 +14,14 @@ The following features are disabled by default for security reasons:
In order to enable these features, the agent must be configured properly by:
* Enabling the host management features via the CAP_HOST_MANAGEMENT environment variable
* Bind-mounting the root of the host in the agent container (must be bind-mounted in /host)
* Enabling the host management features via the `CAP_HOST_MANAGEMENT` environment variable
* Bind-mounting the root of the host in the agent container (must be bind-mounted in `/host`)
## Deploy Portainer Agent
### Docker Swarm
To deploy a new agent with this setting enable, you must run the following:
To deploy a new agent with this setting enabled, you can run the following:
<pre><code>docker service create --name portainer_agent --network portainer_agent_network --publish mode=host,target=9001,published=9001 -e AGENT_CLUSTER_ADDR=tasks.portainer_agent -e CAP_HOST_MANAGEMENT=1 --mode global --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock --mount type=bind,src=//var/lib/docker/volumes,dst=/var/lib/docker/volumes --mount type=bind,src=/,dst=/host portainer/agent</code></pre>
@ -54,6 +57,12 @@ networks:
attachable: true
</code></pre>.
## Enable Host Management in Portainer
Once the agent has been deployed with the necessary settings to enable host management, you can enable this functionality within Portainer under <b>Host</b>, <b>Setup</b> (or <b>Swarm</b>, <b>Setup</b> if you are using Docker Swarm):
![security](assets/host_management.png)
## :material-note-text: Notes
[Contribute to these docs](https://github.com/portainer/portainer-docs/blob/master/contributing.md){target=_blank}

View File

@ -1,20 +1,21 @@
# Enable external Load Balancer usage
# Enable use of an external load balancer (Kubernetes Only)
Enabling the load balancer feature will allow users to expose applications they deploy over an external IP address assigned by Cloud provider.
Enabling the load balancer feature will allow users to expose applications they deploy over an external IP address assigned by their cloud provider.
<b>Note</b>: Ensure that your cloud provider allows you to create load balancers if you want to use this feature. Might incur costs.
!!! note
Ensure that your cloud provider allows you to create load balancers if you want to use this feature. Using this feature may incur costs from your cloud provider.
## Enabling usage of External Balancer
## Enabling usage of an external Load Balancer
To do this, you need to open Portainer Business Edition, go to <b>Cluster</b> and the to <b>Setup</b>. After that, you need to enable the toggle <b>Allow users to use external load balancer</b>.
Open Portainer, go to <b>Cluster</b> and then to <b>Setup</b>. Here, enable the toggle labeled <b>Allow users to use external load balancer</b>.
![namespace](assets/lb.png)
After you enabled the toggle, scroll down and do a click in <b>Save Configuration</b>.
After you enabled the toggle, scroll down and click on <b>Save Configuration</b>.
![namespace](assets/save_conf.png)
Starting now, when you create a resource pool, you can define an external load balancer quota.
With this enabled, when you create a resource pool you will be able to define an external load balancer quota.
## :material-note-text: Notes

View File

@ -1,18 +1,18 @@
# Limit usage of "default" Kubernetes Namespace (Kubernetes Only)
By default, a Kubernetes cluster will instantiate a default namespace when provisioning the cluster to hold the default set of Pods, Services, and Deployments used by the cluster but for an any reason, you want to limitate the usage of that namespace, with Portainer Business Edition, you can do it.
By default, a Kubernetes cluster will instantiate a default namespace when provisioning the cluster to hold the default set of Pods, Services, and Deployments used by the cluster. If you would like to limit the usage of that namespace, you can do so with Portainer.
## Limiting the usage of "default" namespace
To do this, you need to open Portainer Business Edition, go to <b>Cluster</b> and the to <b>Setup</b>. After that, you need to enable the toggle <b>Restrict access to the default namespace</b>.
To do this, go to <b>Cluster</b> and then to <b>Setup</b>, then enable the toggle <b>Restrict access to the default namespace</b>.
![namespace](assets/namespaces.png)
After you enabled the toggle, scroll down and click <b>Save Configuration</b>.
Then scroll down and click <b>Save Configuration</b>.
![namespace](assets/save_conf.png)
Starting now, the only user with the power to run applications in the default namespace is the Administrator of Portainer.
With this enabled, the only users with the power to run applications in the default namespace are Portainer Administrator users.
## :material-note-text: Notes

View File

@ -1,26 +1,27 @@
# Over Commitment of Resources (Kubernetes Only)
With Portainer Business Edition, you can use your resources on full where are most needed. You can configure more resources to namespaces than is physically available in the cluster.
With Portainer you can use your resources to the fullest extent and where they are most needed. You can allocate more resources to namespaces than are physically available in the cluster.
<b>Important</b>: By ENABLING resource over-commit, you are able to assign more resources to namespaces than is physically available in the cluster. This may lead to unexpected deployment failures if there is insufficient resources to service demand. By DISABLING resource over-commit (highly recommended), you are only able to assign resources to namespaces that are less (in aggregate) than the cluster total minus any system resource reservation.
!!! warning
By <b>enabling</b> resource over-commit, you are able to assign more resources to namespaces than are physically available in the cluster. This may lead to unexpected deployment failures if there are insufficient resources to service demand. By <b>disabling</b> resource over-commit (highly recommended), you are only able to assign resources to namespaces that are less (in aggregate) than the cluster total minus any system resource reservation.
## Enabling Over Commitment of Resources
To do this, you need to open Portainer Business Edition, go to <b>Cluster</b> and then to <b>Setup</b>. After that, you need to enable the toggle <b>Allow resource over-commit</b>.
To enable resource over-commit, go to <b>Cluster</b> and then to <b>Setup</b>. Then enable the toggle <b>Allow resource over-commit</b>.
![namespace](assets/over.png)
After you enabled the toggle, scroll down and click <b>Save Configuration</b>.
Then scroll down and click <b>Save Configuration</b>.
![namespace](assets/save_conf.png)
## Disabling Over Commitment of Resources
When you disable the Over Commitment of resources, you can reserve a system resource reservation percentage. To do this, you need to open Portainer Business Edition, go to <b>Cluster</b> and then to <b>Setup</b>. After that, you need to disable the toggle <b>Allow resource over-commit</b>, you cam then do a reservation of resources. Insert the percentage of the resources you want to reserve...
When you disable the over commitment of resources, you can set a system resource reservation percentage. To do this, go to <b>Cluster</b> and then to <b>Setup</b>, then disable the toggle <b>Allow resource over-commit</b>. Once this is done you will be able to define a reservation of resources:
![namespace](assets/reserve.png)
After you disabled the toggle, scroll down and click <b>Save Configuration</b>.
Once you've made the necessary changes, scroll down and click <b>Save Configuration</b>.
![namespace](assets/save_conf.png)

View File

@ -1,8 +1,11 @@
# Security Options
# Security Settings
Portainer allows various configuration options to add secuirty to your environment. In this help article, we going to review the security options that you can find under <b>Settings</b>.
Portainer allows various configuration options to add security to your environment. In this help article, we going to review the security options that you can find under <b>Host</b>, <b>Setup</b> (or <b>Swarm</b>, <b>Setup</b> when using Docker Swarm).
## Docker Endpoint Security Options
!!! note
These settings were previously available under the <b>Settings</b> menu but have now moved to their own section, and are set individually for each endpoint.
## Docker Security Settings
![security](assets/security1.png)
@ -18,6 +21,7 @@ Portainer allows various configuration options to add secuirty to your environme
* <b>Disable container capabilities for non-administrators</b>: Enabling the setting will hide the container capabilities tab for non-administrators when they are creating a container.
* <b>Disable sysctl settings for non-administrators</b>: Enabling the setting will hide the opntion to add sysctl settings for non-administrators when they are creating a container.
## :material-note-text: Notes
[Contribute to these docs](https://github.com/portainer/portainer-docs/blob/master/contributing.md){target=_blank}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@ -1,23 +1,30 @@
# Inspect a Stack
# Edit/Inspect a Stack
In Portainer, you can inspect your stacks to see what is running or access to their logs and stats.
In Portainer, you can inspect your stacks to see what is running or access to their logs and stats, as well as make changes to a stack you have already deployed.
## Inspecting a Stack
To inspect the task associated to your stack, select <b>Stacks</b> and then select the stack you want to inspect.
To inspect the tasks associated to your stack, select <b>Stacks</b> and then select the stack you want to inspect.
![inspect](assets/inspect-1.png)
Here you can:
* View what services that make up this stack
* If they are running or stopped
* How many replicas running in each host
* Access to logs
* Inspect the task stats
* Access to the container console
* Stop, delete or create a template from this stack
* Edit the stack YML directly
* If the stack was deployed from a Git repository, you can redeploy the stack using an updated compose file from the Git repository
* [Duplicate or migrate the stack](/v2.0-be/stacks/duplicate_migration/)
![inspect](assets/inspect-2.png)
* View what services that make up the stack, and whether they are running or stopped
* How many replicas running in each host
* Access the service logs
* Inspect the task stats
* Access the container console
![inspect](assets/inspect-3.png)
## :material-note-text: Notes
[Contribute to these docs](https://github.com/portainer/portainer-docs/blob/master/contributing.md){target=_blank}

View File

@ -7,83 +7,54 @@
Assuming you've used our recommended deployment scripts: when upgrading to the latest version of Portainer, use the following commands:
```shell
docker stop portainer
```
```shell
docker rm portainer
```
Those 2 commands will stop and remove the container respectively. Doing this will NOT remove your other applications/containers/etc.
Now that you have stopped and removed the old version of Portainer, you can run this command
Now that you have stopped and removed the old version of Portainer, you will want to ensure you have the latest version of the image locally. You can do this with a `docker pull` command:
```shell
docker pull portainer/portainer-ee
```
Finally, deploy the updated version of Portainer:
```shell
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee
```
The newest version of Portainer will now be deployed on your system, using the persistent data from the previous version, and will upgrade the Portainer database for the new version.
That will deploy the newest version of Portainer on your system, using the persistent data and upgrade the DB
Now you can go to http://your-server-address:9000 and login. You should notice that the bottom left corner looks different than it did before. There is no more update nag and the version is no longer shown next to the Portainer logo.
Now you can go to http://your-server-address:9000 and login. You should notice that the update notification has disappared and the version number has updated.
### Agent Only Upgrade
When upgrading to the latest version of Portainer Agent, use the following commands:
```shell
docker stop portainer_agent
```
```shell
docker rm portainer_agent
```
Those 2 commands will stop and remove the container respectively. Doing this will NOT remove your other applications/containers/etc.
Now that you have stopped and removed the old version of Portainer Agent, you can run this command
Next, pull the updated version of the image:
```shell
docker pull portainer/agent
```
Finally, start the agent with the updated image:
```shell
docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent
```
## :material-note-text: Notes

View File

@ -11,15 +11,16 @@ First select the <b>Endpoint</b> you want to add a container to, then select <b>
Add details to your container:
* Name: Friendly name for your container
* <b>Name</b>: Friendly name for your container
* Registry: Where your image is hosted
* <b>Registry</b>: Where your image is hosted
Note: when using DockerHub you can use the Search button to search for the image you have entered to ensure you have the correct name and tag. Portainer also displays the number of pulls remaining for your DockerHub account when using an anonymous account.
* Image: The name of the image you want to deploy
* <b>Image</b>: The name of the image you want to deploy
* Ports: Expose the desired ports
* <b>Ports</b>: Expose the desired ports
* Advanced Settings: Many options available here to customise the deploymeny from volume and environment configuration to capabilities
* <b>Advanced Settings</b>: Many options available here to customise the deployment from volume and environment configuration to capabilities
Once complete, click <b>Deploy the Container<b/>.
![container](assets/create_2.png)

View File

@ -1,10 +1,10 @@
# View Container Stats
Stats are very important to understand the resource consumption of yours containers. In Portainer, you are able to monitor this from the UI.
Stats are very important to understand the resource consumption of your containers. In Portainer, you are able to monitor this from the UI.
## Viewing Container Stats
First Click <b>Containers</b>, select the container you want to see the stats.
First click <b>Containers</b>, then select the container.
![stats](assets/inspect-1.png)
@ -17,8 +17,10 @@ Here, you can view a very comprehensive list of consumption stats:
* Memory Usage
* CPU Usage
* Network Usage: RX and TX
* Process running in the container
* Refresh Rate: You can configure time intervals to get new stats data.
* I/O Usage
* Processes running in the container
You can also configure the refresh rate of the displayed stats from the dropdown box.
![stats](assets/stats-2.png)

View File

@ -62,7 +62,6 @@ Alternatively, if installing using our Helm chart you can add the following opti
### :fontawesome-solid-server: Portainer Server Deployment
Ensure you're using at least Helm v3.2, which [includes support](https://github.com/helm/helm/pull/7648) for the `--create-namespace` argument.
First, add the Portainer helm repo by running the following:
```shell
@ -73,7 +72,7 @@ Alternatively, if installing using our Helm chart you can add the following opti
helm repo update
```
Based on how you would like expose the Portainer Service, select an option below:
Based on how you would like to expose the Portainer Service, select an option below:
=== "NodePort"
Using the following command, Portainer will be available on port 30777.
@ -83,7 +82,7 @@ Alternatively, if installing using our Helm chart you can add the following opti
```
=== "Ingress"
Using the following command, Poratainer service will be assigned a Cluster IP. You should use this with an Ingress, see Chart Configuration Options for Ingress related options.
Using the following command, the Portainer service will be assigned a Cluster IP. You should use this with an Ingress, see Chart Configuration Options for Ingress related options.
```shell
helm install --create-namespace -n portainer portainer portainer/portainer \
@ -251,7 +250,7 @@ Alternatively, if installing using our Helm chart you can add the following opti
???+ Tip "Regarding Persisting Data"
The charts/manifests will create a persistent volume for storing Portainer data, using the default StorageClass.
In some Kubernetes clusters (microk8s), the default Storage Class simply creates hostPath volumes, which are not explicitly tied to a particular node. In a multi-node cluster, this can create an issue when the pod is terminated and rescheduled on a different node, "leaving" all the persistent data behind and starting the pod with an "empty" volume.
In some Kubernetes clusters (for example microk8s), the default StorageClass simply creates hostPath volumes, which are not explicitly tied to a particular node. In a multi-node cluster, this can create an issue when the pod is terminated and rescheduled on a different node, "leaving" all the persistent data behind and starting the pod with an "empty" volume.
While this behaviour is inherently a limitation of using hostPath volumes, a suitable workaround is to use add a nodeSelector to the deployment, which effectively "pins" the Portainer pod to a particular node.
@ -261,7 +260,7 @@ Alternatively, if installing using our Helm chart you can add the following opti
nodeSelector: kubernetes.io/hostname: \<YOUR NODE NAME>
2. Explicitly set the target node when deploying/updating the helm chart on the CLI, by including `--set nodeSelector.kubernetes.io/hostname=<YOUR NODE NAME>`
2. Explicitly set the target node when deploying/updating the Helm chart on the CLI, by including `--set nodeSelector.kubernetes.io/hostname=<YOUR NODE NAME>`
3. If you've deployed Portainer via manifests, without Helm, run the following one-liner to "patch" the deployment, forcing the pod to always be scheduled on the node it's currently running on:

View File

@ -12,7 +12,7 @@ Edge stacks lets you deploy an app to all selected edge endpoints concurrently,
Next 1. <b>Name</b> your stack and 2. select one or more <b>Edge Groups</b>.
3. In the <b>Build Methond</b> you need to define how to deploy your app from one of these options:
3. In the <b>Build Method</b> you need to define how to deploy your app from one of these options:
* Web Editor: You can use our web editor to write or paste a docker-compose file.
* Upload: Upload a docker-compose.yml file from your computer

View File

@ -4,7 +4,7 @@ In Portainer, you will able to set up Groups and Tags to organize your endpoints
## Add a Endpoint Group
Adding an Endpoint is very easy in Portainer. Once logged in 1. Click <b>Endpoints</b> and then 2. <b>Groups</b>
Adding an Endpoint Group is very easy in Portainer. Once logged in 1. Click <b>Endpoints</b> and then 2. <b>Groups</b>
![groups](assets/groups_1.png)

View File

@ -6,7 +6,7 @@ Stacks are collections of services running in a Docker Swarm environment.
You can deploy a new stack from Portainer using the following options:
* Web editor: Using our Web Editor, you will capable to define the services for this stack using a docker-compose format.
* Web editor: Using our Web Editor, you will be able to define the services for this stack using a docker-compose format.
* Upload: If you're already have a stack.yml file, you can upload from your computer to deploy that stack.
* Git Repository: You can use a docker-compose format file hosted in Github.
* Custom Template: If you already created a template of stacks, you can deploy from this option.
@ -25,9 +25,9 @@ When you set up everything, click <b>Deploy the Stack</b>.
### Uploading a stack file
In Portainer, you can create Stacks from compose YML files. To achieve this. Click <b>Stacks</b>, then <b>Add Stack</b>.
In Portainer, you can create Stacks from compose YML files. To achieve this, click <b>Stacks</b>, then <b>Add Stack</b>.
Now <b>Name</b> your new stack, select <b>Upload</b> and choose your compose file from your computer, <b>add environment variables</b> if needed and then click <b>Deploy the Stack</b>.
Now <b>Name</b> your new stack, select <b>Upload</b> and choose your compose file from your computer, <b>add Environment Variables</b> if needed and then click <b>Deploy the Stack</b>.
![create](assets/create-3.png)
@ -43,9 +43,9 @@ If you have your compose file hosted in Github, you can deploy from there. Selec
If you need authenticate, define your user and password. <b>NOTE</b>: If you have a 2FA configured in Github, your passcode is your password.
Set environment variables if needed and then click <b>Deploy the Stack</b>.
Set Environment Variables if needed and then click <b>Deploy the Stack</b>.
The docker-compose.yml file is only pulled once from GitHub for the creation of you stack. After creation, you cannot (auto-)update the stack based on changes in or commits to the file on GitHub. You can make local changes in the <b>Editor</b> tab like for stacks deployed from the <b>Web editor</b> but this won't affect the GitHub hosted file. See for the current status of a feaure request [Add the ability to update and redeploy a stack created from a git repository #1753](https://github.com/portainer/portainer/issues/1753)
The docker-compose.yml file is only pulled once from GitHub for the creation of you stack. After creation, you cannot (auto-)update the stack based on changes in or commits to the file on GitHub. You can make local changes in the <b>Editor</b> tab like for stacks deployed from the <b>Web editor</b> but this will not affect the GitHub hosted file. Check here for the current status of a feaure request: [Add the ability to update and redeploy a stack created from a git repository #1753](https://github.com/portainer/portainer/issues/1753)
![create](assets/create-4.png)

View File

@ -7,46 +7,30 @@
Assuming you've used our recommended deployment scripts: when upgrading to the latest version of Portainer, use the following commands:
```shell
docker stop portainer
```
```shell
docker rm portainer
```
Those 2 commands will stop and remove the container respectively. Doing this will NOT remove your other applications/containers/etc.
Now that you have stopped and removed the old version of Portainer, you can run this command
Now that you have stopped and removed the old version of Portainer, you will want to ensure you have the latest version of the image locally. You can do this with a `docker pull` command:
```shell
docker pull portainer/portainer-ce
```
Finally, deploy the updated version of Portainer:
```shell
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
```
The newest version of Portainer will now be deployed on your system, using the persistent data from the previous version, and will upgrade the Portainer database for the new version.
That will deploy the newest version of Portainer on your system, using the persistent data and upgrade the DB
Now you can go to http://your-server-address:9000 and login. You should notice that the bottom left corner looks different than it did before. There is no more update nag and the version is no longer shown next to the Portainer logo.
Now you can go to http://your-server-address:9000 and login. You should notice that the update notification has disappared and the version number has updated.
#### Upgrading from Version <1.24.1
@ -62,42 +46,30 @@ docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /va
```
At this point, you are running version 1.24.1 which can be verified by to http://your-server-address:9000, logging in and confirming the version number in the lower left. To complete the upgrade, perform the steps defined in the previous section.
### Agent Only Upgrade
When upgrading to the latest version of Portainer Agent, use the following commands:
```shell
docker stop portainer_agent
```
```shell
docker rm portainer_agent
```
Those 2 commands will stop and remove the container respectively. Doing this will NOT remove your other applications/containers/etc.
Now that you have stopped and removed the old version of Portainer Agent, you can run this command
Next, pull the updated version of the image:
```shell
docker pull portainer/agent
```
Finally, start the agent with the updated image:
```shell
docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent
```
## :material-note-text: Notes

View File

@ -1,20 +1,20 @@
# Webhooks
You can use webhooks to cause an action in a service in response to a push event in a repository. Webhooks are POST requests sent to a URL you define in Docker Hub or another registry.
You can use webhooks to trigger an action in a service in response to a push event in a repository. Webhooks are POST requests sent to a URL you define in Docker Hub or another registry.
## Enable Service Webhook
To enable a webhook for a service, go to <b>Services</b>, click in the service you want to set up the Weebhook, and enable the toogle <b>Service Webhook</b>.
To enable a webhook for a service, go to <b>Services</b>, click on the service you want to set up the Webhook for, and enable the toggle <b>Service Webhook</b>.
![webhooks](assets/1.png)
After you enable the toggle you will see the URL to configure your webhook in Docker Hub or another repository. do a click in copy to get the full URL.
After you enable the toggle you will see the URL to configure your webhook in Docker Hub or another repository. Click the copy button to get the full URL.
![webhooks](assets/2.png)
## Examples
Here, you can find a few examples to understand how easy is to trigger the webhook.
Here, you can find a few examples to understand how easy it is to trigger the webhook.
### Redeploy

View File

@ -103,13 +103,13 @@ nav:
- 'Connect to a Registry' : 'v2.0-be/registries/connect.md'
- 'Enable Docker Hub Authentication' : 'v2.0-be/registries/auth-docker-hub.md'
- Configuring Settings:
- 'Enable use of external load balancer' : 'v2.0-be/settings/lb.md'
- 'Allow/Disallow over-commitment of resources' : 'v2.0-be/settings/overcommit.md'
- 'Limit usage of default namespace' : 'v2.0-be/settings/namespaces.md'
- 'Security Options' : 'v2.0-be/settings/security.md'
- 'Enable Edge Computing' : 'v2.0-be/settings/edge.md'
- 'App Templates' : 'v2.0-be/settings/apps.md'
- 'Enable Edge Computing' : 'v2.0-be/settings/edge.md'
- 'K8s: Enable use of external load balancer' : 'v2.0-be/settings/lb.md'
- 'K8s: Limit usage of default namespace' : 'v2.0-be/settings/namespaces.md'
- 'K8s: Allow/Disallow over-commitment of resources' : 'v2.0-be/settings/overcommit.md'
- 'Enable Host Management Features' : 'v2.0-be/settings/host_management.md'
- 'Security Settings' : 'v2.0-be/settings/security.md'
- Backup and Restore:
- 'Backup': 'v2.0-be/backup/backup.md'
- 'Restore': 'v2.0-be/backup/restore.md'
@ -127,7 +127,7 @@ nav:
- 'Add/Create a Stack' : 'v2.0/stacks/create.md'
- 'Create a template from a Stack' : 'v2.0/stacks/template.md'
- 'Duplicate / Migrate Stacks' : 'v2.0/stacks/duplicate_migration.md'
- 'Inspect a Stack' : 'v2.0/stacks/inspect.md'
- 'Edit/Inspect a Stack' : 'v2.0/stacks/inspect.md'
- 'Webhooks':
- 'Configure a Webhook' : 'v2.0/webhooks/create.md'
- 'Containers':
@ -202,9 +202,9 @@ nav:
- Docker & Docker Swarm:
- 'Stacks':
- 'Add/Create a Stack' : 'v2.0-be/stacks/create.md'
- 'Edit/Inspect a Stack' : 'v2.0-be/stacks/inspect.md'
- 'Create a template from a Stack' : 'v2.0-be/stacks/template.md'
- 'Duplicate / Migrate Stacks' : 'v2.0-be/stacks/duplicate_migration.md'
- 'Inspect a Stack' : 'v2.0-be/stacks/inspect.md'
- 'Webhooks':
- 'Configure a Webhook' : 'v2.0-be/webhooks/create.md'
- 'Containers':