A few days ago, Portainer Business Edition came up with their new update. It is quite a massive update with many new features, bug fixes, enhancements and much more. In this article, we will see all of those in a nutshell.
What is Portainer?
Portainer is the definitive container management GUI and dashboard that works with both Docker and Kubernetes. It helps companies in managing and deploying cloud-native applications simplifying operations.
Let’s see a few prominent highlights from the whole update.
Deploying a manifest from a git repository for Docker and Kubernetes
With the release of version 2.7.0, Portainer brings the ability to deploy a docker-compose or a YAML Manifest from a git repository when it uses Stacks deployment on Docker or Advanced Application deployment with Kubernetes. It is beneficial if you use a Git server to store deployment Manifests.
Group membership mapping from OAuth
The latest update helps discover how we can easily manage access control in Portainer when we have many users and we are using OAuth.
Summary of the Kubernetes actions
Portainer will now generate a Summary block with all the actions and changes applied to the Kubernetes endpoint with this latest update. So before confirming action on the Kubernetes cluster, like deploying an Application or creating a Namespace via the Summary tab, we have each step Portainer will perform.
Advanced deployment available for all users
Previously, we can see that Advanced Deployment was only available to Endpoint Administrators. With this new update comes the new feature with which Standard Users also have access to the Advanced Deployment option in Portainer when deploying applications.
Real-time container and node performance
The latest update will now help monitor the real-time performance of our Pods and Nodes in our Kubernetes cluster with a graphical representation of hardware resources that these components are using.
Renaming the “Resource pools” to Namespaces
Previously, we have seen that we can create namespaces using the Resource Pool option that could cause some confusion. The devs have decided to change this to the standard Namespace Kubernetes terminology for clarity.
Single Sign-on support for OAuth with the ability to skip the Authentication Prompt
With the release of Portainer 2.7.0, we can see the support for SSO on the OAuth authentication method. We can now configure SSO with our favourite provider (GitHub, for example) and seamlessly login into our Portainer instance. With this, we don’t have to provide a password with Portainer if our OAuth session is still valid.
Proget Registry support
Portainer 2.7.0 will now support the addition of Inedo Proget Private Registry to deploy private images via Portainer with this new integration quickly.
The new update adds the ability to update and redeploy a stack created from a git repository, and also, we can see the addition of I/O usage to the container statistics.
With the update of v2.7.0, we can see enhanced environment variables UI/UX for Docker and also, sysctl options are available when creating a container. It now also shows the number of Swarm nodes for the endpoint on the Home page. Also, we can see the amount of Docker pulls remaining for DockerHub to avoid exceeding the quota through this release. We can also see the introduction of support for composing version 3.8 on docker swarm environments. The new update now displays the container IP address(es) in the list of containers. Also, we can see the improved layout of the toggles on the create container setting tab. For Docker Standalone, the new update will prevent a stack from being created if the Compose has a
container_name that already exists. The update also helps create a container from a DockerHub image that will show a search button in the UI.
With the latest release, we can see fixing the issue where deploying a stack from Git did not work for Azure DevOps. Again, we can see fixing another issue where we can see the hiding of the stacks with a status of 0 in the UI. The update also fixes an important issue where pulling a large image fails when using an Agent due to a timeout. It fixed an issue where listing the services with Auto-refresh on collapses all services after refresh. The dash characters will not get removed from the stack name on Docker Standalone from now on. Also, we will have fault-tolerant access control management via labels. It also did the fixing of the issue where the label showing the default location of secrets was incorrect for Windows and another issue where there is a typo in the error message “Unable to start stack.”
In the registry section, there is only the addition of a single feature. With the new update, we can see the addition of ProGet as a specific registry type when adding a registry.
One bug gets a fixing in this section with the latest release. We see the fixing of the issue that showed pushing to a quay.io registry failed due to not including the username in the quay registry URL.
Only bugs get a fixing in the case of templates. We see the fixing of the issue where we saw the failure of creating a custom template from uploading a compose file. The devs have fixed the issue where switching custom templates in the stack create view template tab doesn’t update the editor. Also, we see the fixing of the issue with an invalid template documentation URL in the Settings.
The volume section gets a new feature with the introduction of version 2.7.0. We can see the addition of validation to prevent adding an empty mount to an existing service.
With the new update, we see fixing the MountType and nfsvers when creating NFS4 volumes. Again, the devs have fixed the issue where editing the properties of volumes on service did not enable the apply button.
Kubernetes service gets a whole lot of new features with the arrival of the latest version. We can see the introduction of deploying a manifest from a git repository when using advanced deployment. Also, standard users can use the advanced deployment feature from now on. We also see the introduction of a summary of Kubernetes actions when deploying a Kubernetes resource. Again, we see new features like the ability to display real-time node metrics in Kubernetes. We can experience the functionality to allow multiple ingress networks per Kubernetes namespace, with a differing config per ingress. The new release also adds the ability to redeploy an externally deployed application, the ability to expand the YAML tab of a Kubernetes application to full size and the ability to cordon/uncordon/drain nodes. Lastly, we can also see the warning in the placement tab when we can’t schedule an application on the cluster.
With the updated version, we see the renaming of Resource Pools to Namespaces in the UI. Also, we can see the improved UI for the placement policies when creating an application and can see the improvement while showing the name of an application image. Version 2.7.0 brings the addition of Form validation for Configuration keys. With the new update, we see the enhancement for alphabetical sorting of the environment variable to improve the readability. Version 2.7.0 brings the displaying of the ImagePull policy in the details of an application. Lastly, we can experience the default to the Kube-system namespace in the advanced deployment view on ARM.
We can observe no minor UI inconsistency in the new update when creating an application with an ingress. The devs have also fixed the issue with the UI layout when making an application with ingress. Now, updating the Kubernetes endpoint URL will get persistence. Also, we will get the update of the endpoint URL when updating a Kubernetes local endpoint. Again, we will not see any breaking of the endpoint when renaming the endpoint of a Kubernetes agent.
The environment variables with empty values will show up from now on when editing a Kubernetes application. With this update, the environment variable validation will not be very restrictive when creating an application. Also, making an application with two different ingresses will not incorrectly populate the hostname UI fields from this release.
The devs have also fixed the issue where an application with persisted data can’t update after disabling the storage option in the cluster settings. We will see the prevention of adding an ingress route when editing an application with the disabling of the existing ingress route and ingress. Lastly, the devs have fixed the issue where adding an application does not allow setting to Global.
ACI gets a bug fixing where ACI will not stop working after the addition of persistence or networking.
Edge gets a new feature in the latest release. Edge now can deploy Edge stacks on Docker standalone Edge endpoints.
The new update will now show the status of the edge agent check-in on the home page dashboard. Also, it will hide the webhook UI in the service creation view of an edge endpoint since it’s not applicable.
Edge gets the only bug fixing where the devs have fixed the issue where accessing a down Kubernetes Edge endpoint should redirect the user to the home view.
The new update gives the ability to sync Portainer teams with group memberships provided via OAuth. Also, we can see the addition of the SSO support for OAuth and do not enforce a login prompt. We have to use
<portainer_url>/#!/internal-auth to login with internal admin. Again, we see the ability to manage orphaned stacks when Portainer has the compose file. Lastly, the update adds the option to specify the local socket location when adding a docker endpoint.
Version 2.7.0 brings the retaining of the search filters within the browser session. Now, Portainer can properly expose backend errors when using image management features. It will now prevent the accidental closing of web editor related views. The new version also improves the descriptions for Portainer initialization errors. Lastly, we can see disabling of the sysctl settings for non-administrators incorrectly defaults to being on.
The release fixed the issue where we can see the file selecting windows when pressing enter in text fields. Also, we will not see the failure of restoring Portainer from a backup file in certain circumstances related to the activity logs. It also fixes the issue where we can see the unchanged custom snapshot interval. Lastly, the devs have fixed the incorrect Windows agent deployment command in the agent endpoint creation tab with version 2.7.0.
With the release of version 2.7.0, we can see the introduction of initial experimental support for Podman.
With the latest update, we see the introduction of buildx to support Windows 1903+ Base Images. We also see the addition of the ability to debug through VSCode and can also see that the devs have added a check for missing angularJS inject annotation.
In development, we can only see a single enhancement. We see the removal of grunt-karma and grunt-html2js dependencies.
For development, the devs have fixed the issue where webpack complains about chardet source maps. Also, we see the fixing of the issue where babel complains about missing core-js dependency.
Throughout the article, we have discussed the various updates and bug fixes that version 2.7.0 brings to the table. It is refreshing to see a new and updated Portainer. I know that you are also dying to try it out firsthand. You can install the latest version of Portainer from here.
You can read more of our blogs below. Happy Learning.