Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
July 31
IONOS releases the AI Model Hub platform, which features foundational models and vector databases as a service. Using these services, you can also implement retrieval augmented generation use cases.
We have added documentation support to help you use our new AI Model Hub
. The key topics include:
— Guided steps for using our foundation models.
— Instructions for managing our vector database as a service.
— Steps to conduct retrieval augmented generation.
July 29
The Data Center Designer (DCD) now features a new dedicated Network menu aimed at consolidating all network-related products for easier access and streamlining product management within the DCD. The products now grouped under this menu include Connectivity, Load Balancing, Edge Networking, and Security products. The IP Management, Cross Connect, Target Groups, Cloud DNS, and SSL Certificate Manager products listed earlier under the Management menu have been moved to the Network menu.
July 29
IONOS releases Network File Storage, a managed service that offers shared file storage for multiple virtual machines and containerized workloads via the NFS protocol. The product is currently available on a request basis, will initially be available only in the German data centers (Frankfurt & Berlin), and will be gradually rolled out to all locations.
It is currently available on a request basis. To access this product, please contact your sales representative or IONOS Cloud Support.
July 29
This release introduces additional capabilities, enabling you to connect all Virtual Data Centers (VDCs) in the Frankfurt region via private LANs. We recommend upgrading your existing Cross Connect to the latest version. For more information, see Upgrade Cross Connect to the Latest Version.
July 8
Managed Kubernetes is releasing Kubernetes version 1.30. For more information about the schedule timeline, see Release Schedule.
July 4
Information on the security advisory for CVE-2024-6387, announced by OpenSSH, is now available on the documentation portal. This advisory addresses a signal handler race condition in OpenSSH that affects sshd in its default configuration.
July 3
AMD Opteron CPUs will be phased out for Kubernetes node pools and new Opteron-based VMs. We recommend updating your Terraform and Crossplane configurations to reflect the new CPU type to avoid errors.
July 31
We have updated the Backup Service documentation. The key topics include:
— Step-by-step instructions for configuring backup encryption in Apply Backup Encryption.
— Detailed information on encryption at rest, encryption in transit, and secure data deletion practices in Data Security.
July 30
The Network Services product category now includes a new Certificate Manager section. This update relocates the Manage SSL Certificates documentation from the Managed Application Load Balancer product to the new section. Additional documentation on certificate management will be added shortly.
July 18
We have added documentation support to help you configure Veeam Backup & Replication with the new eu-central-3
Object Storage region. The key topics include:
— Guided steps for adding a new Object Storage repository.
— Instructions for creating backup jobs with performance-optimized settings.
— Steps to migrate your backup repository to the eu-central-3
region.
— Recommended settings to apply 8 MB blocks in storage optimization.
March 28
IONOS DBaaS provides support for MariaDB clusters to suit your needs. It offers resources such as CPU cores, RAM size (GB), and storage types to create database clusters. Additionally, the database clusters facilitate point-in-time recovery and backup features, making them highly reliable. It also facilitates cloud-based database patching and scalability. The migration process is straightforward due to its compatibility with MySQL.
March 20
Starting today, the Backup Service management servers will switch to the new IP addresses. We recommend you update the configured firewall rules so that the firewall does not restrict backup agent access and allows the backup agents to communicate effectively. For more information, see FAQs.
March 13
Logging Service is enhanced to allow sub-users within your contract number to use their IONOS credentials and access Grafana upon meeting the pre-conditions. This enhancement improves accessibility and provides a seamless experience for all users within the Grafana environment.
Welcome to the previous release notes section of our documentation portal for IONOS Cloud. This section is dedicated to archiving previous release notes for the year(s), excluding the latest release.
February 27
You can can now interact with the IONOS Telemetry API via the managed Grafana provided by the Logging Service. It is also compatible with Prometheus specifications. The Telemetry API uses the same authentication as the IONOS Cloud API; hence, you can use the same API token to authenticate with the Telemetry API.
February 22
Upbound Crossplane Marketplace now lists IONOS Cloud as the Crossplane Provider. With Crossplane, you can convert a Kubernetes cluster into a universal control plane.
February 5
Information on security advisory for CVE-2024-21626 is available on the documentation portal. The vulnerability enables containerized escape for attackers using a malicious image, a malicious Dockerfile, or an upstream image.
February 1
The following significant changes are being made to IONOS APIs, SDKs authentication methods, and token management to enhance user security.
A new way to manage authentication tokens from the Data Center Designer (DCD) is introduced.
Effective March 15, 2024, the Basic Authentication across IONOS’ APIs and SDKs is completely deprecated for user accounts with 2-Factor Authentication (2FA) enabled or 2FA forced. Impacted users can only generate tokens from the API/SDK Authentication Token Manager.
January 10
Logging Service now allows the primary account owner to create sub-users and delegate pipeline management responsibilities. Sub-users can only view and manage the pipelines assigned to them by the primary account owner and are not authorized to access pipelines created by other sub-users or the primary account owner. Hence, your credentials and data are secure and not shared with other sub-users. For more information, see Features and Benefits.
As part of our ongoing documentation portal redesign, we have significantly enhanced its layout, appearance, and navigation to provide an unmatched user experience and improved visibility of our products and product categories. Consequently, you will observe changes in the product listing on the vertical navigation bar on the left side of this page.
We aim to improve the visibility of our functional products and make documentation easily discoverable. Our team has worked diligently to ensure these modifications align with the best practices in documentation portal design and user experience. The result is a documentation portal that offers our users a streamlined and efficient browsing experience.
Note: The functionality of the products and their associated features remain unaffected.
The new look and feel of the document, with refreshing color and font style changes, make the content visually appealing.
Appealing banners differentiate between different documentation sections, such as User Guides, Developer Reference, Support, and FAQs.
A new Log in tab on the horizontal navigation bar redirects to the DCD log in page.
APIs, SDKs & Tools tab on the horizontal navigation bar have been renamed to Developer Reference.
Well-categorized and comprehensive sections for IONOS Cloud products and services: Getting Started, Developer Reference, Product User Guides, and Security.
Card-based layouts for products:
Bite-sized snippets of information provide an overview of the product.
Clickable cards swiftly redirect to the landing page of the respective product documentation.
Product Categories and Products:
Listed in an alphabetical order on the landing page and on the vertical navigation bar on the left side of this page.
To ensure sync with the newly designed product catalog on the IONOS website, specific:
Products have either moved to an existing product category or placed under a newly added product category.
Product names have changed.
The product and product categories precisely match the order displayed on the landing page, and they are perfectly synchronized with the product catalog available on the IONOS website.
End users can view upgrades via the accessible public documentation portal.
The changes include the following:
Compute
Compute Services
Renamed
-
Containers
Added
-
Databases
Added
-
Data Analytics
Added
Early Access
-
Removed. Products under this category are moved to their relevant product category.
Managed Services
-
Removed. Products under this category are moved to their relevant product category.
-
Network Services
Added
-
Observability
Added
-
Storage & Backup
Added
Cloud Cubes
Cubes
Container Registry
Private Container Registry
Application Load Balancer
Managed Application Load Balancer
Enable Flow Logs
Flow Logs
NAT Gateway
Managed NAT Gateway
Network Load Balancer
Managed Network Load Balancer
Backup Service
Managed Services
Storage & Backup
Block Storage
Compute
Storage & Backup
Cloud DNS
Managed Services
Network Services
Cross Connect
Early Access
Network Services
DDoS Protect
None
Network Services
Flow Logs
None
Network Services
IONOS S3 Object Storage
Managed Services
Storage & Backup
IPv6 Configuration
None
Network Services
Logging Service
Managed Services
Observability
Managed Application Load Balancer
Managed Services
Network Services
Managed Kubernetes
Managed Services
Containers
Managed NAT Gateway
Managed Services
Network Services
Managed Stackable Data Platform
Managed Services
Data Analytics
MongoDB
Managed Services
Databases
Monitoring as a Service
Managed Services
Observability
VM Auto Scaling
Early Access
Compute Services
PostgreSQL
Managed Services
Databases
Private Container Registry
Managed Services
Containers
VDC Networking
None
Network Services
We are publishing changes in phases on the documentation portal, which means that it is constantly evolving. However, the product's functionality and features remain unaffected. We will keep you updated about all changes here.
August 26
IONOS S3 Object Storage has extended support for the Replication feature through the DCD. You can now replicate data from user-owned buckets to contract-owned buckets in the eu-central-3
S3 region. Previously, this functionality was only available via the API.
August 22
This release introduces the Access Logging feature in Managed Application Load Balancer (ALB). It enhances monitoring and analyzing ALB traffic with detailed logging capabilities.
August 22
This release introduces the Access Logging feature in Managed Network Load Balancer (NLB). It enhances monitoring and analyzing NLB traffic with detailed logging capabilities.
August 22
New capabilities have been added to the Managed Application Load Balancer: — Configure gRPC Support — Configure WebSocket Support These enhancements provide comprehensive instructions for setting up gRPC that enables users to define service methods and messages in a language-agnostic way, making it easy to create APIs that work seamlessly across different platforms and setting up WebSocket support, a communication protocol that provides full-duplex communication channels over a single TCP connection.
August 19
This release introduces Monitoring Service. IONOS Cloud introduces the Monitoring Service, which provides a centralized and scalable solution for monitoring and analyzing your application and infrastructure metrics. Hence, Monitoring as a Service is now considered a legacy. We recommend switching to the Monitoring Service for better support and capabilities. For more information, see FAQs.
August 16
The Private Container Registry now supports IP Access Control Lists (IP ACLs), offering enhanced security and granular access control. This feature allows you to specify IP subnets permitted to access your registry, limiting access to trusted sources within your network. IP ACLs are easy to configure via the API with the apiSubnetAllowList
parameter. Once configured, access attempts from outside the allowed subnets are immediately blocked, ensuring real-time protection without disrupting authorized users.
August 14
The new Password Policy Manager feature is now available for contract owners, enabling the creation of a customizable password policy that strengthens security within their contracts. Using the DCD or the Identity API, contract owners can manage password policy.
August 14
Kubernetes Version 1.27 has now reached its End of Life (EOL). From now on, you cannot provision any more clusters or node pools for version 1.27. Existing clusters or node pools running on version 1.27 will be automatically upgraded to version 1.28 during the next scheduled maintenance window after August 14, 2024.
August 9
You can now set up accessing Object Storage over a private LAN by configuring a Managed Network Load Balancer (NLB) with the public IP addresses of the required S3 endpoint as the Target IP address and configuring the Private IP as the Listener IP of the forwarding rule.
August 8
This is to inform you that Managed Kubernetes version 1.27 will reach its end of life (EOL) on August 14, 2024. After that, you cannot create new clusters or node pools using Kubernetes version 1.27. Existing clusters or node pools running on version 1.27 will be automatically upgraded to version 1.28 during the next scheduled maintenance window after the EOL date.
August 2
The Certificate Manager now supports the auto-renew of SSL certificates via the API. With this function, the certificate manager automatically renews the certificate before it expires. The renewed certificate is also available in the DCD to use them. This feature is currently supported only via the API and available on a request basis. To access this feature, please contact your sales representative or IONOS Cloud Support.
August 1
IONOS releases NFS Volumes support for Kubernetes. This feature allows the integration of IONOS Network File Storage (NFS) with Kubernetes clusters, mounting NFS volumes as PVCs in the cluster. Network File Storage is initially available only in the German data centers (Frankfurt and Berlin), and will be gradually rolled out to all locations.
It is currently available on a request basis. To access this product, please contact your sales representative or IONOS Cloud Support.
August 1
IONOS introduces Event Streams for Apache Kafka, a managed solution that is fully integrated with the DCD, offering a variety of cluster sizes to accommodate the diverse requirements of different applications. With this service, you can build secure event-driven architectures. The product will initially be available only in the German data centers (Frankfurt & Berlin), and will be gradually rolled out to all locations.
It is currently available on a request basis. To access this product, please contact your sales representative or IONOS Cloud Support.
August 1
The self-restoration of MariaDB clusters from a backup is possible via the DCD. It minimizes downtime and data loss in unanticipated scenarios. For more information, see use cases.
August 1
IONOS offers a robust VPN Gateway feature, designed to ensure secure and scalable encrypted connections between your IONOS cloud resources and remote infrastructure. This solution supports two key VPN protocols: IPSec and WireGuard, providing you with flexibility and advanced security options to meet your networking needs.
It is currently available on a request basis. To access this product, please contact your sales representative or IONOS Cloud Support.
August 1
IONOS DBaaS provides support for In-Memory DB instances and offers resources such as CPU cores and RAM size (GB) to create In-Memory DB instances. Additionally, the instance facilitates backup via snapshots and the option to recover data, making them highly reliable. It also facilitates cloud-based In-Memory DB instance patching and scalability.
August 1
IONOS releases CDN, a content delivery network service with multiple edge servers geographically well situated within the user's proximity to deliver content swiftly and securely with enhanced features such as Web Application Firewall (WAF) and DDoS Layer 7 protection. It is currently available on a request basis. To access this product, please contact your sales representative or IONOS Cloud Support.
August 1
The API Gateway offers a suite of functionalities to help you efficiently create, manage, and monitor your APIs. It provides essential features for managing and optimizing interactions between clients and backend services, ensuring secure and efficient API operations. It is currently only available in Berlin, but will soon be rolled out to more locations.
May 30
IONOS S3 Object Storage introduces contract-owned buckets in a new S3 region eu-central-3
. Users within a single organization can benefit from our Object Storage using contract-owned buckets. Users can now create this bucket type from within the S3 web console. The earlier bucket-type functionality presented within the Object Storage continues to be supported and is now referred to as user-owned buckets. For the list of S3 operations supported in contract-owned buckets, see Feature comparison.
May 24
IONOS announces the release of our Certbot plugin for Cloud DNS. With this plugin, you can automate the process of obtaining and renewing SSL/TLS certificate. This feature enhances security and simplifies certificate management for your domains.
This detailed tutorial will help you get started with the Certbot plugin for Cloud DNS, which provides step-by-step instructions on how to set up and use the plugin effectively.
May 23
Information on the security advisory for CVE-2024-4323 reported by Tenable Research is now available in the documentation portal. The memory corruption vulnerability in Fluent Bit can result in a denial of service, information disclosure, or remote code execution.
May 17
IONOS has introduced self-service functionality features via the DCD to improve the customer experience by giving users control over certain features. Customer data provides additional control and flexibility to your account. With the Payment details module, you can add new payment methods. This feature has enhanced security to provide seamless yet strong customer authentication.
May 13
You can now leverage the IONOS Cloud DNS API service to create and manage Reverse DNS (PTR) records for IPv4 and IPv6 addresses. This enhancement enables you to efficiently manage your DNS configurations and network settings and enhance email deliverability.
May 7
Logging Service is enhanced to allow you to configure an unlimited retention period for your logs. With this enhancement, you can store your logs for an indefinite period. The enhancement is available since April 29, 2024.
May 6
Information on the security advisory for four vulnerabilities reported by Acronis is now available in the documentation portal. These vulnerabilities reported in the Cyber Protect Agent cause local privilege escalation and information manipulation without authorization.
October 26
The documentation portal now contains information about the new security advisories that Acronis reported. You can find more details about the reported vulnerabilities on the following pages:
October 25
VM Auto Scaling is now available as an Early Access (EA) feature. It is a cloud computing feature that dynamically scales in or scales out the number of virtual machine instances (horizontal scaling) based on customizable monitoring events. The metric-based policy, defined during its configuration, constantly monitors the load and regularly scales the number of VM instances based on the policy threshold. The functionality ensures that the number of replicas in the group remains within the defined constraints.
October 18
The documentation for Backup Service has been updated to include a new section called Install the Acronis Backup Agent on Linux. This section provides prerequisites, step-by-step instructions, and configuration options to ensure a seamless installation experience.
December 20
IONOS now supports RHEL 8 images as part of our ongoing commitment to offering RHEL support to our users. As a result, RHEL 8 images are now compatible with the IONOS public cloud architecture.
December 18
IONOS is a certified partner of Red Hat and is authorized to provide and run Red Hat Enterprise Linux inside the IONOS public cloud infrastructure. This applies to public RHEL 9 images supplied by IONOS.
December 15
Managed Kubernetes now supports Private Node Pools, providing enhanced security, isolation, and flexibility to manage your Kubernetes workloads. You can create Private Node Pools within your Managed Kubernetes clusters to ensure your critical workloads remain secure and protected.
December 15
Now you can enable advanced features to boost the protection of your workloads:
Advanced Backup ensures continuous protection of your data, capturing even the most recent updates to prevent loss.
Advanced Security offers comprehensive, continuous malware threat mitigation for your data environments.
Advanced Management facilitates the patching of vulnerabilities within your protected data scope.
December 15
December 14
IONOS offers a revamped DCD interface for IONOS S3 Object Storage in the General Availability (GA) phase. It is an enhanced version of the old S3 DCD interface, providing improved user experience and performance, intuitive design, contextual help, and faster responsiveness. The user interface navigation label is renamed from S3 Web Console to IONOS S3 Object Storage in the DCD.
December 14
December 13
December 13
December 4
IONOS is a certified partner of Red Hat and are authorized to provide and run Red Hat Enterprise Linux inside the IONOS public cloud infrastructure. This is applicable to both public RHEL images supplied by IONOS and user-uploaded private RHEL images.
December 18
December 4
Explore our guides and reference documents to integrate IONOS Cloud products and services.
July 17
Managed Stackable version 23.4 is now newly available and the only version currently supported for creating a new Managed Stackable cluster. Older clusters retain their original version.
July 7
The documentation for Managed Kubernetes has been updated to include information about the maintenance window as well as the cluster and node pool maintenance processes.
July 7
The documentation for Managed Kubernetes has been updated to include information about Kubernetes versions and their availability.
July 5
The Vulnerability Register serves as a comprehensive record detailing security vulnerabilities that impact IONOS Cloud products and services. This report has been developed as an integral component of our continuous commitment to assist you in effectively mitigating security risks and safeguarding the integrity of your systems.
July 3
Application Load Balancer is now Generally Available (GA). With the Application Load Balancer (ALB), incoming application layer traffic can be routed to targets based on user-defined rules.
July 3
Network Load Balancer is now Generally Available (GA). With the Network Load Balancer (NLB), you can automatically distribute workloads over several servers, which minimizes disruptions during scaling.
July 3
NAT Gateway is now Generally Available (GA). With the NAT Gateway, you can enable internet access to virtual machines without exposing them to the internet by a public interface. It acts as an intermediary device that translates IP addresses between the private network and the public internet.
April 30
IONOS DBaaS for MariaDB is now available across all IONOS Cloud locations. You can choose any location of your preference from the DCD when you your MariaDB cluster or perform the same actions via the . For a list of region-specific API endpoints, see .
April 25
IONOS S3 Object Storage has increased the length of all newly generated Access Keys and Secret Keys to prepare for the upcoming new functionalities on the S3 offering. Access Keys will now be 92 characters long, and Secret Keys will be 64 characters long.
April 22
Managed Kubernetes now supports Regional Control Planes, allowing users to deploy and manage Kubernetes clusters to new geographic regions with ease. You can benefit from optimized performance and reduced latency between the control plane and the nodes of the node pools within the same region.
For more information, see .
April 10
Starting in May, our Backup Service servers will use an additional IP subnet: 85.215.126.0/24
. We recommend you update the configured firewall rules in advance so that the firewall does not restrict backup agent access and allows the backup agents to communicate effectively. For more information, see .
April 5
Information on security advisory for CVE-2024-3094 is available on the documentation portal. The vulnerability enables remote system breaches via SSH, and immediate action is required to resolve it.
April 2
We are thrilled to announce the release of our revamped documentation portal landing page. The enhancement includes significant improvements to the design outlook and website navigation to streamline the user experience and to make accessing information more accessible and more efficient.
Card-based Design: Visually appealing card layouts provide users with concise information and an easier way to engage with the documentation portal.
April 2
To reinforce consistency in the product category and product names across IONOS website and documentation portal, the following changes are made effectively:
— The product categories are renamed, added, and removed.
— Some of the product names in our documentation portal are renamed and reorganized into product categories in a way that it improves easy discoverability of documentation.
Note: The product renaming does not have any impact on its services and functionality. Incorporation of the updated product names across our documentation pages is an ongoing development, and we will be rolling out this update in phases.
IONOS has renamed Managed Backup to Backup Service to standardize the product terminology. Earlier, Managed Backup was also referred to as Backup as a Service or Backup by Acronis across different platforms. The new unified name ensures consistency in our communications and branding. This change does not impact the product's functionality, and the service remains unchanged. The documentation portal now reflects the product name changes. For more information, see .
IONOS S3 Object Storage offers the Bucket Policy, view object versions and metadata, and Object Lock features in the General Availability (GA) phase. Using , overarching access policies for a bucket can be set to control data access and usage. With , data can be secured by implementing retention policies or legal holds; and with object , object retrieval is easier for large volumes of unstructured data. These new features overall improve the access and data management in the Object Storage.
IONOS offers the new Container Registry Vulnerability Scanning feature in General Availability (GA) phase. Software development is constantly evolving, and security is our top priority. The Container Registry Vulnerability Scanning feature is specifically designed to enhance the security of your containerized applications by proactively identifying potential vulnerabilities present in your artifacts. Scans occur each time an artifact is pushed to the registry and when new vulnerability definitions are published. It quickly detects any security weaknesses in container dependencies and libraries, allowing you to react immediately to prevent exploitation. For more information about reviewing the vulnerability scan results, see .
This feature will be available when creating new container registries, and you can also enable it for existing registries. For more information, see .
IONOS offers the New Container Registry Web Console, an enhanced version of the existing Container Registry Web Console, providing improved user experience and performance, intuitive design, faster responsiveness and additional features than the existing Container Registry Web Console. For more information, see .
The subtopics in the Block Storage section have been updated. It now contains a new Images & Snapshots section with the appropriate subtopics— and . For more information, see .
The subtopics in the Block Storage section have been updated. It now contains a new Images & Snapshots section with the appropriate subtopics— and . For more information, see .
Website Navigation: Find the specific product documentation easily with a familiar navigational structure that rearranges the products in the in an alphabetical sequence.
For more information, see .
For more information, see .
May 30
Cloud DNS is now available as an Early Access (EA) feature. You can publish DNS Zones of your domains and subdomains on public Name Servers using Cloud DNS. You may also programmatically manage your DNS Zones and Records via API.
August 18
This is solely for informational purpose and does not require any action from you. IONOS has renamed Virtual Server(s) to Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see Product Renaming FAQs.
August 18
Added information on security advisory for CVE-2022-40982, also known as “Gather Data Sampling” (GDS) or “Downfall” here.
August 14
IONOS MongoDB database cluster offers MongoDB Enterprise edition supporting versions 5.0 and 6.0 to suit the requirements of enterprise-level deployments. This edition provides advanced capabilities such as sharding database type, enabling the BI Connector, and more resources - CPU cores, RAM size (GB), and storage types to create database clusters. Additionally, the enterprise database clusters facilitate point-in-time recovery and offsite backup features making these clusters highly reliable.
August 10
A vCPU Server is a new virtual machine provisioned and hosted in one of IONOS's physical data centers. It behaves like a physical server and can be used as a standalone product or combined with other IONOS cloud products. To configure a vCPU Server, choose a preset (S, M, L, XL, and XXL) that suits your needs. Presets are a combination of specific vCPU-to-RAM ratios. The number of vCPUs and RAMs differs based on the selected preset. You can also tailor the vCPU-to-RAM ratios to meet your requirements—the Preset automatically changes to Custom when you edit the predefined ratio.
August 8
The documentation for Kubernetes Versions now contains the following details:
Managed Kubernetes releases Kubernetes version 1.27; hence, the Available column now mentions the release date.
Kubernetes version 1.24 has reached an end-of-life; hence, the Kubernetes end of life column has been updated accordingly.
Note: The documentation portal URLs are directly affected by the below-mentioned updates. As a result, if you have bookmarked specific pages from the documentation portal, we recommend revisiting the pages and bookmarking the new URLs.
August 10
The following sections have been renamed in the documentation portal:
Compute Engine is now called Compute.
Virtual Machines is now called Compute Engine.
August 10
Cloud Cubes is no longer under Virtual Machines, but an independent section under Compute.
November 28
Application Load Balancers (ALB) and Network Load Balancers (NLB) now support Proxy Protocol versions to send additional connection information, such as the source and destination. The Targets associated with your ALB and NLB can now be configured to accept incoming traffic using the Proxy Protocol.
November 23
Information on security advisory for CVE-2023-23583, also known as Escalation of privilege for some Intel processors vulnerability, is available on the documentation portal. This vulnerability is based on an unexpected behavior for some Intel(R) processors that may allow an authenticated user to potentially enable escalation of privilege and information disclosure or denial of service via local access.
November 15
Logging Service is now in the General Availability (GA) phase. You can create logging pipeline instances on the available locations to gather logs from multiple sources. You may also programmatically manage your logging pipelines via the API. To learn more about what changed during the transition from the Early Access (EA) phase to the GA phase, see Frequently Asked Questions (FAQs).
November 13
Cross Connect is now available as an Early Access (EA) feature on a restricted early access basis. To access this feature, please contact your sales representative or customer support. With the enhanced feature, you can connect multiple Virtual Data Centers (VDCs) seamlessly in the same region and under the same contract. Connections can be established via a private LAN only, thus enabling consistent and reliable data transfer and ensuring seamless connections, reduced latency, and minimized addressing discrepancies. Cross Connects are flexible, meaning you can easily modify the existing setup by effortlessly adding or deleting existing data centers or modifying the associated data centers.
November 2
Information on security advisory for CVE-2023-34048, also known as vCenter Server out-of-bounds write vulnerability is available on the documentation portal. This vulnerability allows an attacker with network access to trigger an out-of-bounds write that can lead to remote code execution.
November 1
Information on security advisory for CVE-2023-20569, also known as Return Form Procedure (RET) Speculation or Inception is available on the documentation portal. This vulnerability is reported by AMD as a sensitive information disclosure due to speculative side-channel attacks.
The Data Center Designer (DCD) is a unique tool for creating and managing your virtual data centers. DCD's graphical user interface makes data center configuration intuitive and straightforward. You can drag-and-drop virtual elements to set up and configure data center infrastructure components.
As with a physical data center, you can use the DCD to connect various virtual elements to create a complete hosting infrastructure. For more information about the DCD features, see Log in to the Data Center Designer.
The same visual design approach is used to make any adjustments at a later time. You can log in to the DCD and scale your infrastructure capacity on the go. Alternatively, you can set defaults and create new resources when needed.
The DCD allows the customer to both control and manage the following services provided by IONOS Cloud:
Virtual Data Centers: Create, configure and delete entire data centers. Cross-connect between VDCs and tailor user access across your organization.
Dedicated Core Servers: Set up, pause, and restart virtual instances with customizable storage, CPU, and RAM capacity. Instances can be scaled based on usage.
Block Storage: Upload, edit, and delete your private images or use images provided by IONOS Cloud. Create or save snapshots for use with future instances.
Networking: Reserve and manage static public IP addresses. Create and manage private and public LANs including firewall setups.
Basic Features: Save and manage SSH keys; connect via Remote Console; launch instances via cloud-init; record networking via flow logs and monitor your instance use with monitoring software.
As a web application, the DCD is supported by the following browsers:
Google Chrome™: Version 30+
Mozilla® Firefox®: Version 28+
Apple® Safari®: Version 5+
Opera™: Version 12+
Microsoft® Internet Explorer®: Version 11 & Edge
We recommend using Google Chrome™ and Mozilla® Firefox®.
If you are ready to get started with the Data Center Designer, consult our Basic Tutorials. These step-by-step instruction sets will teach you how to Configure a Data Center and configure initial user settings.
Tutorial
Description
Log in to the Data Center Designer (DCD), explore the dashboard and menu options.
Create a data center and learn about individual user interface (UI) elements.
Create a server, add storage and a network. Provision changes.
Set user privileges; limit or extend access to chosen roles.
Create, manage and delete an authentication token using the API/SDK Authentication Token Manager.
Manage general settings, payment and contract details.
This section lists the most commonly referred topics in the user guides.
September 20
IONOS offers the New S3 Web Console (Beta), an enhanced version of the existing S3 Web Console in the DCD, providing improved user experience and performance, intuitive design, and faster responsiveness while having the same feature set as the existing S3 Web Console. Currently, the feature is in the Beta phase and is available by default to all new and existing users. You are encouraged to try out the new S3 Web Console. This new application console does not impact the functionality of the existing S3 Web Console.
September 4
The Cloud DNS is now in General Availability (GA) phase. You can publish DNS zones of your domains and subdomains on public Name Servers using Cloud DNS. With the Cloud DNS API, you can create DNS zones and DNS records, import and export DNS zones, secure your DNS zones with DNSSEC and create secondary zones. Additionally, you can also set up ExternalDNS for your with Cloud DNS.
August 2024 Releases
Most Popular
Getting Started
APIs
SDKs
Config Management Tools
AI Model Hub
Cubes
Compute Engine
VM Auto Scaling
Managed Kubernetes
Private Container Registry
In-Memory DB
MariaDB
MongoDB
PostgreSQL
Event Streams for Apache Kafka
Managed Stackable Data Platform
CDN
Certificate Manager
Cloud DNS
Cross Connect
DDoS Protect
Flow Logs
IPv6 Configuration
Managed Application Load Balancer
Managed NAT Gateway
Managed Network Load Balancer
VDC Networking
VPN Gateway
Logging Service
Monitoring Service
Monitoring as a Service (Legacy)
API Gateway
Backup Service
Block Storage
IONOS S3 Object Storage
Network File Storage
Security
June 20
Debian 12 HDD and ISO images are now accessible through the Data Center Designer (DCD) and the Cloud API. These latest Debian images are compatible with all IONOS Compute Engine instances, including Dedicated Core Servers and Cloud Cubes.
June 1
Internet Protocol version 6 (IPv6) is now a General Availability (GA) feature for all IONOS Compute Engine instances of type Dedicated Core Servers and Cloud Cubes. Applications can now be hosted in the dual stack with connectivity over both IPv6 and IPv4 within virtual data centers and to and from the internet.
June 1
Firewall rules configuration for a Network Interface Card (NIC) is now extended to support IPv6. With this enhancement, Firewall rules support ICMPv6 as a protocol, IPv6 addresses as source or destination IPs, and lets you specify the IP version for which a given rule is applicable.
June 1
With IONOS extending IPv6 support to Compute Engine instances, you can now use the Flow Logs to capture data related to IPv6 network traffic flows in addition to IPv4.
Access the DCD in your web browser by navigating to https://dcd.ionos.com.
Select your preferred language (DE | EN) in the top right corner of the Log in window.
Enter the Email and Password created during registration.
Select Log in.
Result: You will be successfully logged in to the DCD.
Note: By default, no code is required. The Verification code will be required if you have activated 2-Factor Authentication. We highly recommend enabling 2FA to improve the user security.
Once logged in, you will see the Dashboard. The Dashboard shows a concise overview of your data centers, resource allocation, and options for help and support. You can click on the IONOS logo in the Menu bar at any time to return to the Dashboard.
Inside the Dashboard, you can see the My Virtual Data Centers list and the Resource Allocation window. The Resource Allocation window shows the current usage of resources across your infrastructure.
Selecting a data center in the My Data Centers list opens the data center. However, if this is your first time using DCD, you need to create your first Virtual Data Center (VDC). For more information on creating the VDC, see Configure a Data Center.
The Menu bar at the top of the DCD screen allows you to access the DCD features, view notifications, visit the help section, and manage your user account.
Menu option
Description
1. IONOS logo
Return link to the Dashboard.
2. Data Center Designer
List existing VDCs and/or create new ones.
2. Data Center Designer
List existing VDCs and/or create new ones.
3. Storage
List storage buckets and/or create new ones.
4. Containers
Manage Kubernetes and Container Registries.
5. Databases
Manage Databases.
6. Management
User, Group, and Resource settings and Security management.
7. Notification icon
Shows active notifications.
8. Help icon
Customer Support, Tutorials, FTP Upload Image access, and information about new features in the DCD.
9. Account Management
Account settings, resource usage, and billing methods.
Your IONOS Cloud infrastructure is set up in Virtual Data Centers (VDCs). You will find all the building blocks and resources required to configure and manage your products and services here.
Prerequisites: Make sure you have the appropriate permissions. Only contract administrators, owners, and users with the Create Data Center permission can create a VDC.
In the DCD, go to Menu > Data Center Designer. A drop-down window will open up.
Provide the following information:
Name: Enter an appropriate name for your VDC.
Description: (Optional) Describe your new VDC.
Region: Choose the physical location of your data center that will host your infrastructure.
Select Create Data Center to confirm.
Alternatively, go to the My Virtual Data Centers list and select Create new. You can also use the Start Center option to create new data centers. For more information, see Manage Start Center.
Result: The data center is now created and can be opened in the workspace. The newly created VDC is added to the My Data Centers list in your Dashboard.
You can set up your data center infrastructure by using a drag-and-drop visual interface. The DCD contains the following elements:
Name
Description
1. Menu bar
Provides access to the DCD functions via drop-down menus.
2. Palette
Movable element icons that can be combined in the workspace.
3. Element
The icon represents a component of the virtual data center.
4. Workspace
You can arrange element icons in this space via drag-and-drop.
5. Inspector pane
View and configure properties of the selected element.
6. Context menu
Right-click an element to display additional options.
The square elements serve as building blocks for your VDC. Each element represents an IONOS Cloud product or service. Some elements are compatible, while others are not. For example, a Server icon can be combined with the Storage (HDD or SSD) icon. In practice, this would represent the physical act of connecting a hard drive to a server machine. For more information, see Set Up Storage.
The palette is a dynamic sidebar that contains VDC elements. You can click and drag each element from the palette into your workspace and position it as per your requirements.
All cloud products and services are compatible with each other. You may create a Server and add Storage to it. A LAN Network will interconnect your Servers.
Some elements may connect automatically via drag-and-drop. The DCD will then join the two if able. Otherwise, it will open configuration space for approval.
Right-click an element and select Delete from the drop-down menu. You can also select the element directly and hit Delete/Backspace from your keyboard.
The context menu offers different options depending on the element. To see the context menu, right-click on any element. For example, right-click a Cube or a Server to update it.
When an element is selected, the Inspector pane will appear on the right side of your screen. You can configure the element properties. For example, for a Server element, you can define its Name and Availability Zone, Preset, vCPUs and RAM.
This pane allows you to finalize the creation of your data center. Once your VDC is set up, select PROVISION CHANGES. This makes your infrastructure available for use.
The Start Center is an alternative option for VDC creation and management. You can access the manage the VDCs or create a new one from the Start Center window.
In the DCD, go to Menu > Data Center Designer > Open Start Center.
The following are the available options in the Start Center window:
The Start Center lists all your data centers in alphabetical order.
The Create Data Center on the right can also be used to create new VDCs.
The Region | Version are displayed for each VDC. Version numbers begin from 0 and are incremented by one each time the data center is provisioned.
The Details, to the right of each VDC, displays all associated servers, VMs, resources, and their statuses. The status of the resources could be on, off, or de-allocated. Here, you can either:
You can select a VDC from the Data Center list to open it.
Result: You can manage your VDC using the Start Center.
This tutorial guides you through generating and managing authentication tokens in the Data Center Designer (DCD).
Note: The API/SDK Authentication Token Manager can be used by any user but is mandatory for 2FA enabled and forced accounts.
In the DCD, you can now generate the authentication token to securely access IONOS Cloud APIs and SDKs by using the API/SDK Authentication Token Manager. Along with improved user security, the Token Manager offers a seamless user experience to generate tokens in a simplified way and use the token several times to access the APIs and SDKs. You can generate up to 100 authentication tokens and use any of these token values for authorizing access to APIs and SDKs.
To create a secure authentication token for authorizing to use APIs and SDKs, follow these steps:
In the DCD, go to Menu > Management > Token Management.
In the API/SDK Authentication Token Manager, select Generate Token.
Copy the Token ID and Close the token-generated window.
Warning: You must save the token value for future uses. You will not be able to see the token value again due to security reasons.
Note: You can download the token value as a text file for future uses by selecting the Download option next to the Token Value.
Result: An authentication token is generated and listed in the API/SDK Authentication Token Manager screen.
Each token has a Time To Live (TTL), which is the duration for which a token is valid before it expires and becomes inactive. Select a TTL value from the drop-down list. The following are the possible values:
1 Hour
4 Hours
1 Day
7 Days
30 Days
60 Days
90 Days
180 Days
365 Days
Each token consists of:
Creation Date: The date and time stamp of the token.
Expiration Date: The date and time stamp when the token becomes invalid depending on the defined TTL at the time of token generation.
The generated token is listed in the API/SDK Authentication Token Manager screen.
The Token Value is displayed only once upon generation, and you must save this value for future use.
The token is valid based on the defined TTL field at the time of token generation.
Note: The deletion of a token in the Authentication Token Manager will result in the deactivation of the token even when it has not expired. It becomes invalid immediately.
To delete an authentication token, follow these steps:
In the DCD, go to Menu > Management > Token Management.
In the API/SDK Authentication Token Manager, select the authentication token to delete and select the Delete option.
Select Delete to confirm.
Result: The authentication token is successfully deleted and removed from the tokens list in the API/SDK Authentication Token Manager.
Select the Remote Console using
Open the data center using
ID: This is the ID of the token which you can use in the . For example, to by ID.
The IONOS AI Model Hub is designed to simplify the deployment and management of advanced machine learning models, eliminating the complexities associated with hardware and infrastructure. This service hosts a range of powerful AI models that facilitate developers' implementation of sophisticated AI solutions without worrying about underlying hardware and operational overheads.
IONOS' AI Model Hub supports various use cases, including:
Foundation Models: Utilize pre-trained Large Language Models (LLMs) and text-to-image models.
Document Embeddings: Store and query extensive document collections based on semantic similarity.
Retrieval Augmented Generation (RAG): Enhance responses by combining LLMs with contextually relevant documents stored in a vector database.
The IONOS AI Model Hub Service offers a wide array of features tailored to meet the needs of modern developers:
Managed Hosting: Utilize AI models without needing to maintain the underlying infrastructure.
Security and Compliance: Keep your data secure and compliant with regulations, as data processing is confined within Germany. Your input data is not used for training purposes in any way.
Scalability: Scale your AI deployments seamlessly based on your needs.
Integration Options: Easily integrate with your applications using REST APIs, with support for popular programming languages like Python and Bash.
Diverse Model Offerings: Choose from various foundation models, including LLMs and text-to-image models, each capable of generating innovative and sophisticated AI outputs.
Document Embeddings: Store and manage document collections and perform semantic similarity searches to extract contextually relevant information.
Retrieval Augmented Generation: Combine vector databases and foundation models to generate enhanced outputs that are contextually aware, providing more accurate and helpful responses.
Token-based Billing: Pay for the services based on the number of tokens used, enabling cost-efficient usage and transparency in billing.
Understanding the foundational concepts of the IONOS AI Model Hub will help you leverage its full potential:
Foundation models are pre-trained on massive datasets to perform a wide range of language and image processing tasks. They can generate text, answer questions, and create images based on textual descriptions. With IONOS, you can access these models via APIs, simplifying the process of integrating advanced AI capabilities into your applications.
Access various open-source LLMs and text-to-image models.
Use models without managing underlying hardware.
Maintain data privacy and comply with German data protection regulations.
Vector databases provide a way to store and manage document collections, enabling semantic similarity searches. Documents are converted to embeddings (vector representations), allowing the discovery of related content through similarity searches.
Persist documents and search for semantically similar content.
Use API endpoints to manage document collections and perform searches.
Ensure document storage and processing stays within Germany.
RAG combines the capabilities of foundation models and vector databases to improve the quality of responses. By supplementing the inherent knowledge of LLMs with specific, contextually relevant information from document collections, RAG provides more accurate and detailed answers.
Use foundation models together with document collections from vector databases.
Improve response accuracy and relevance by incorporating additional context.
Implement sophisticated AI solutions using a combination of querying and generation.
Use dedicated REST API endpoints to interact with various models and services. These endpoints are designed to facilitate the quick and easy integration of AI capabilities into your applications.
Model Management: Endpoints for retrieving model lists, querying models, and managing predictions.
Document Management: Endpoints for creating, modifying, retrieving, and deleting document collections and individual documents.
Querying and Generating: Endpoints for combining semantic searches with generative models to implement RAG scenarios.
Security is paramount, and IONOS provides robust mechanisms to authenticate and authorize API requests. Users must generate and use API tokens to access the AI services securely.
IONOS ensures that all data processing complies with German and European data protection regulations. Your data is processed within Germany, providing an additional layer of security and compliance.
IONOS offers expert technical support to help you troubleshoot and optimize your AI deployments. Whether you need assistance with API integration or model performance, the support and Professional Service team is available to ensure your success during German business hours.
IONOS does not backup the data saved to collections in the vector database. Please ensure that you can restore the content of your collections in case of deletion.
The IONOS AI Model Hub API allows you to access vector databases to persist your document collections and find semantically similar documents.
The vector database is used to persist documents in document collections. Each document is any form of pure text. In the document collection not only the input text is persisted, but also a transformation of the input text into an embedding. Each embedding is a vector of numbers. Input texts which are semantically similar have similar embeddings. A similarity search on a document collection finds the most similar embeddings for a given input text. These embeddings and the corresponding input text are returned to the user.
This tutorial is intended for developers. It assumes you have basic knowledge of:
REST APIs and how to call them
A programming language to handle REST API endpoints (for illustration purposes, the tutorials uses Python and Bash scripting)
By the end of this tutorial, you'll be able to:
Create, delete and query a document collection in the IONOS vector database
Save, delete and modify documents in the document collection and
Answer customer queries using the document collection.
The IONOS AI Model Hub API offers a vector database that you can use to persist text in document collections without having to manage corresponding hardware yourself.
Our AI Model Hub API provides all required functionality without your data being transfered out of Germany.
To get started, you should open your IDE to enter Python code.
Install required libraries
You need to install the modules requests and pandas to your python environment:
Import required libraries
You need to import the following modules:
Generate header for API requests
Next generate a header document to authenticate yourself against the REST API:
After this step, you have installed all python modules and have one variable header you can use to access our vector database.
To get started, you should open a terminal and ensure that curl and jq is installed. While curl is essential for communicating with our API service, we use jq throughout our examples the improve the readability of the results of our API.
In this section you learn how to create a document collection. We will use this document collection to fill it with the data from your knowledge base in the next step.
To track, if something went wrong this section also shows how to:
List existing document collections
Remove document collections
Get meta data of a document collection
Create a document collections
To create a document collection, you have to specify the name of the collection and a description and invoke the endpoint to generate document collections:
If the creation of the document collection was successful, the status code of the request is 201 and it returns a JSON document with all relevant information concerning the document collection.
Extract collection id from request result
To modify the document collection you need its identifier. You can extract it using:
To ensure that the previous step went as expected, you can list the existing document collections.
List all existing document collections
To retrieve a list of all document collections saved by you:
This query returns a JSON document consisting of your document collections and corresponding meta information
Convert list of endpoints to a pandas dataframe
You can convert this JSON document to a human readable form using:
The result consists of 8 attributes of which 3 are relevant for you:
id: The identifier of the document collection
properties.description: The textual description of the document collection
properties.documentsCount: The number of documents persisted in the document collection
If you have not created a collection yet, the field items is an empty list.
If the list of document collections consists of document collections you do not need anymore, you can remove a document collection by invoking:
This query returns a status code which indicates whether the deletion was successful:
204: Status code for successfull deletion
404: Status code given the collection did not exist
Access meta data from a document collection
If you are interested in the meta data of a collection, you can extract it by invoking:
This query returns a status code which indicates whether the collection exists:
200: Status code if the collection exists
404: Status code given the collection does not exist
Extract collection meta data from request result
The body of the request consists of all meta data of the document collection.
In this section, you learn how to add documents to the newly created document collection. To validate your insertion, this section also shows how to
List the documents in the document collection,
Get meta data for a document,
Update an existing document and
Prune a document collection.
To add an entry to the document collection, you need to at least specify the content, the name of the content and the contentType:
Note:
You need to encode your content using base64 prior to adding it to the document collection. This is done here in line 4 of the source code.
This request returns a status code 200 if adding the document to the document collection was successful.
To ensure that the previous step went as expected, you can list the existing documents of your document collection.
List all existing documents in a document collections
To retrieve a list of all documents in the document collection saved by you:
This query returns a JSON document consisting of your documents in the document collection and corresponding meta information
Convert list of documents to a pandas dataframe
You can convert this JSON document to a pandas dataframe using:
The result consists of 10 attributes of which 5 are relevant for you:
id: The identifier of the document
properties.content: The base64 encoded content of the document
properties.name: The name of the document
properties.description: The description of the document
properties.labels.number_of_tokens: The number of tokens in the document
If you have not created the collection yet, the request will return a status code 404. It will return a JSON document with the field items set to an empty list if no documents were added yet.
Access meta data from a document
If you are interested in the metadata of a document, you can extract it by invoking:
This query returns a status code which indicates whether the document exists:
200: Status code if the document exists
404: Status code given the document does not exist
Extract collection meta data from request result
The body of the request consists of all meta data of the document.
If you want to update a document, invoke:
This will replace the existing entry in the document collection with the given id by the payload of this request.
If you want to remove all documents from a document collection invoke:
This query returns the status code 204 if pruning the document collection was successful.
Finally, this section shows how to use the document collection and the contained documents to answer a user query.
Retrieve document relevant for querying
To retrieve the documents relevant for answering the user query, invoke the query endpoint as follows:
This will return a list of the NUM_OF_DOCUMENTS most relevant documents in your document collection for answering the user query.
Decode Base64 encoded documents
Now, decode the retrieved documents back to string using:
In this tutorial you learned how to use the IONOS AI Model Hub API to conduct semantic similarity searches using our vector database.
Namely, you learned how to:
Create a necessary document collection in the vector database and modify it
Insert your documents into the document collection and modify the documents
Conduct semantic similarity searches using your document collection.
This tutorial contains a detailed description of how to manually configure your IONOS Cloud infrastructure for each server via the Virtual Data Center (VDC). It comprises all the building blocks and the necessary resources required to configure, operate, and manage your products and services. You can configure and manage multiple VDCs.
Prerequisites: Only contract owners, administrators, and users having Create Data Center permission can configure a data center. Other user types have read-only access.
It is also possible to configure settings for each server automatically.
Drag the Dedicated Core server element from the palette into the workspace.
To configure your Dedicated Core server, enter the following details in the Settings tab of the Inspector pane:
Name: Enter a unique name for your server.
Availability Zone: Select a zone from the drop-down list to host the server on the chosen zone.
CPU Architecture: Select either AMD or Intel cores.
Cores: Select the number of CPU cores.
RAM: Select any size starting from 0.25 GB to the maximum limit allotted to you. The size can be increased or reduced in steps of 0.25 GB. The maximum limit varies based on your contract resource limits and the chosen data center. For more information about creating a full-fledged server, see Create a Dedicated Core Server.
Result: The Dedicated Core Server is now created and can be updated based on your requirements.
Drag a Storage element from the palette onto a Dedicated Core server in the workspace.
To configure your Storage element, enter the following details in the Inspector pane:
Name: Enter a storage name unique to the VDC.
Availability Zone: Select a zone from the drop-down list to host the storage element associated with the server.
Size in GB: Choose the required storage capacity.
Performance: Select a value from the drop-down list based on the requirement. You can either select Premium or Standard, and the performance of your storage element varies accordingly.
Image: Select an image from the drop-down list. You can select one of IONOS images or choose your own.
Password: Enter a password for the chosen image on the server—a root or an administrator password.
Backup Unit: Select a backup unit from the drop-down list. Click Create Backup Unit to instantly create a new backup unit if unavailable.
For more information about adding storage to the server, see Block Storage Overview.
Result: The storage will now be added to your Dedicated Core Server.
Drag a Network Interface Card (NIC) element from the palette into the workspace to connect the elements.
To configure your NIC element, enter the following details in the Network tab of the Inspector pane:
Name: Enter a NIC name unique to this VDC.
MAC: Media Access Control Address field is populated automatically upon provisioning and cannot be changed.
LAN: The name of the configured LAN is displayed. To select another network, select a value from the drop-down list.
Firewall: It is Disabled by default. Select a value from the drop-down list to configure your firewall settings. For more information, see Configure a Firewall.
IPv4 Configuration:
Primary IP: The primary IP address is automatically assigned by the IONOS DHCP server. You can, however, enter an IP address for manual assignment by selecting one of the reserved IP addresses from the drop-down list. Private IP addresses (according to RFC 1918) must be entered manually.
DHCP: It is often necessary to run a DHCP server in your virtual data center (e.g., PXE boot for fast rollout of VMs). If you use your own DHCP server, clear this check box so that the IONOS DHCP server does not reassign your IPs.
For more information about network configuration, see Configure a Network.
Result: The data center will now be connected to the internet.
Select PROVISION CHANGES in the Inspector pane to start the provisioning.
Review your changes in the Validation tab of the Provision Data Center window.
Confirm changes by entering your password. Resolve conflicts without a password.
When ready, select Provision Now.
Result: The data center will now be provisioned. DCD will display a Provisioning Complete notification when your cloud infrastructure is ready.
You may configure the MAC and IP addresses once the resource is provisioned.
After configuring data centers, you can specify a preferred default data center location, IP settings, and resource capacity for future VDCs. For more information about configuring VDC defaults, see Create a Dedicated Core Server.
The IONOS AI Model Hub is a comprehensive platform that empowers developers to easily implement advanced AI functionalities. You can enhance your applications' capabilities by leveraging managed foundation models, vector databases, and advanced retrieval augmented generation techniques while ensuring security and compliance. Explore the potential of IONOS AI Model Hub Service to transform your AI projects today.
Prerequisite: Prior to using the AI Model Hub, make sure to have a working Authentication Token. Without Authentication Token, you cannot access the AI Model Hub.
Use the API to access Foundation Models
Use the API to persist Document Embeddings.
Use Foundation Models and Document Embeddings to implement a Retrievel Augmented Generation Use Case.
This tutorial guides you through creating and managing Users, User Groups, and Resources in the Virtual Data Center (VDC).
Prerequisites: Make sure you have the appropriate privileges. Only contract administrators and owners can manage users within a VDC.
A new VDC in the Data Center Designer (DCD) is manageable by contract owners. To assign resource management capabilities to other members in VDC, you can add users and groups and grant them appropriate privileges to work with the data center resources.
The User Manager lets you create new users, add them to user groups, and assign privileges to each group. Privileges either limit or increase your access based on the user role. The User Manager lets you control user access to specific areas of your VDC.
In the DCD, go to Menu > Management > Users & Groups.
Select + Create in the Users tab.
Enter the user's First Name, Last Name, Email, and Password.
Note:
— The email address of the new user must be unique.
— The password must adhere to the contract's password policy. For more information, see Manage Password Policy.
Select Create to confirm.
Result: A user is successfully created and listed in the Users list.
The creation of groups is useful when you need to assign specific duties to the members of a group. You can create a group and add members to this group. You can then assign privileges to the entire group.
In the Groups tab, select + Create.
Enter a Group Name.
Select Create to confirm.
Result: The group is now created and visible in the Groups list. You can now assign permissions, users, and resources to your group.
In the Groups tab, select a group from the Groups list.
In the Privileges tab, select checkboxes next to the privilege name.
Note: You do not need to save your selections. This action automatically grants or removes privileges.
Result: The group has the required privileges now.
Note: To remove the privileges for a group, clear the checkbox next to the privilege name.
Users are added to your new group on an individual basis. Once you have created a new member, you must assign them to the group.
In the Groups tab, select the required group.
In the Members tab, add users from the + Add User drop-down list.
Result: The users are now assigned to the group. These users have privileges and access rights to the resources corresponding to their group.
When assigning a user to a group, whether you are a contract owner or an administrator, you can:
Create a new user within DCD.
Note: Administrators do not need to be managed in groups, as they automatically have access to all resources associated with the contract.
In the Resources tab, select a resource from the drop-down list.
In the Visible to Groups tab, click + Add Group.
Select a group from the drop-down list.
Result: This group can now access the allocated resource.
In the Groups tab, select the required group.
Select the Resources of Group tab.
Click + Grant Access and select the resource to be assigned to the group from the drop-down list.
Result: The group now has the newly assigned resources. You have enabled read access for the selected resource.
To enable access, select the Edit or Share checkbox for a resource.
To disable access, select the required resource. Clear either the Edit or Share checkboxes. You can also directly click Revoke Access.
Users can be removed from your group on an individual basis.
Select the Members tab.
Click Remove User.
Result: This user is now removed from the group.
In the Account Settings, you can view and manage your account's personal and payment details, passwords, and security, enable , and access the resource overview, cost, and usage. The access levels depend on your user role. To manage your account, select your name at the top right side of the DCD menu. You can view your user name, email address, and contract number. In addition to it, the following options will appear in the drop-down menu:
To view or update your customer data, follow these steps:
In the DCD, go to Menu > Your Profile > My Customer Data.
A My customer data window will open up. You can view the Email Address, a Contract Number, Company name, First name, and Last name.
Select Edit to update the Street address, ZIP, and City in the Address section. Select Save to make changes.
Select Edit to update the primary Contact email address, Billing email address and Phone number associated with your account in the Contact section. You can also add other billing addresses by selecting Add another billing email address. Select Save to make changes.
Result: Your Customer Data will be saved.
You can view and update your account's billing and payment details. To edit the payment details, follow these steps:
In the DCD, go to Menu > Your Profile > Payment details.
The Payment Details window will open up. You can set up the payment method by selecting Set up payment method. A Change payment method window will open up.
Select either of the following payment methods in Available payment methods to choose from how you would like to pay:
Select this option to enter your Credit card information. Each transaction is encrypted using Secure Socket Layer (SSL), and the information is secure. You need to provide the following information:
Card number: Enter the valid card number for payment processing.
Expires (month): Select the expiration month of your credit card from the drop-down list.
Expires (year): Select the expiration year of your credit card from the drop-down list.
Card verification code: Enter the security code on your credit card to verify the legitimacy during online transactions.
Credit card holder's address: You can provide the billing address associated with the credit card for verification purposes. Select either of the following options:
Same address as customer data: Select this option if you want to input the same address as you used in customer data.
Different address: Select this option to input a different address and provide the name of the Cardholder, Street and number, City, ZIP code, and Country.
Once done, select Until further notice, I agree that IONOS will collect all amounts due from the above credit card.
Select this option to enter the SEPA Direct Debit information. The SEPA Direct Debit processing can take up to 24 hours. You need to provide the following information for Authorisation for SEPA Direct Debit.
Customer Name/Account Holder: Enter the name of the account holder associated with the bank account.
IBAN: Enter the complete International Bank Account Number (IBAN).
(Optional) Once done, select Third-Party Direct Debit Details to authorize a third party, such as a company or service provider, to give your consent to access your bank account.
Select I agree that the amounts due may be debited from the specified account until cancelled.
Select Save to make changes.
Result: Your Payment details will be saved.
To edit the settings, follow these steps:
In the DCD, go to Menu > My Profile > My Settings.
A My Settings window will open up. Set the default values for Session settings, Data Center settings, Server settings, Storage settings, and IP settings from the respective drop-down lists.
Result: Your new settings will be updated right away. You can undo your changes either by selecting Reset or Reset All.
To protect the IONOS Cloud account from unauthorized access, each account comes with the following security features:
You can provide the password for your IONOS account yourself during the registration process. Your password must contain at least five characters and a mixture of upper and lowercase letters and special characters. To change the password, follow these steps:
In the DCD, go to Menu > Your Profile > Password & Security.
In the Change Password view, enter your Current Password, New Password and then Repeat New Password.
Select Change Password.
Result: The password is changed and becomes effective with the next login.
You can set up 2-Factor Authentication in addition to your login credentials. This authentication method requires an app-generated security code. Once 2-Factor Authentication has been activated, you can only access your account by entering the authentication code you receive from the Google Authenticator App. This method can be extended to hide specific data centers and snapshots from users, even if they belong to an authorized group. This feature is only available in DCD.
Prerequisites:
The Google Authenticator App must be able to access your camera, and the time on the mobile device needs to be set automatically.
You can turn on 2-Factor Authentication for your accounts. Make sure that it is not already activated by a contract owner or an administrator.
To activate 2FA for your account, follow these steps:
In the DCD, go to Menu > Your Profile > Password & Security.
In 2-Factor Authentication section, select the Enable 2-Factor Authentication option. The 2-Factor Authentication Setup Assistant will open.
Proceed through each step by selecting Next.
Scan the QR code using the Google Authenticator app on your smartphone.
Enter the Security Token.
Select Done to exit the 2-Factor Authentication window.
Only contract administrators, owners, and users can turn on 2-Factor Authentication for other user accounts to maintain high security.
To activate 2FA for another user account, follow these steps:
In the DCD, go to Menu > Management > Users & Groups.
Select the required user in the User Manager window.
In the Meta Data tab, select the Force 2-Factor Auth option.
Select Save.
The Set Up Assistant will open up. Select the Activate for your own account tab in the documentation to complete these steps. The user cannot avoid this step, nor are they able to deactivate the 2-Factor Authentication.
Result: The 2-Factor Authentication is now enabled. You need to provide a Verification code from the next login.
To ensure that the support calls are made by authorized users, you are asked for the support PIN to verify the account. You can set your support PIN in the DCD and change it at any time.
To set or change your support PIN, follow these steps:
In the DCD, go to Menu > Your Profile > Password & Security.
In the Set Support PIN section, enter your support PIN in the PIN field to confirm your identity.
Select Set Support PIN.
You can track the global usage of resources available in your account along with the overview of usage limits per instance.
To view the resource overview, follow these steps:
In the DCD, go to Menu > Your Profile > Resource Overview.
A Resource Overview window will open up with a summary of all resources.
To view the cost and usage associated with your account, follow these steps:
In the DCD, go to Menu > Your Profile > Cost and Usage.
Your Snapshot, IP address, and Data Centers usage are listed along with the cost. You can select the downward arrow to expand each section and view individual charges.
Note: The total amount displayed is for the next 30 days, and it excludes VAT.
Info:
As a contract administrator or owner, you can cancel a user account by removing the user from the User Manager. Resources created by the user are not deleted.
To cancel your Enterprise Cloud Infrastructure as a Service (IaaS) contract and completely delete your account, including all VDCs, contact your IONOS account manager.
The Password Policy feature in IONOS Cloud helps organizations enforce password security by defining a set of rules that must be followed when creating and updating passwords. This feature is crucial for safeguarding accounts and ensuring adherence to security standards. Always ensure that your policies are in line with industry best practices to safeguard your data effectively.
Note: Only contract owners can define the password policy applicable to the sub-users in the contract.
Customizable Rules: The password rule can be customized to your needs such as recommendations to have complex passwords to improve the security of user accounts. You can define criteria on the length of the password, whether or not to include lowercase and uppercase letters, numbers, and special characters in the password and the minimum quantity of each of these character types.
Ease of Use: Using the or the , contract owners can manage password policies easily.
Flexibility: Create, retrieve, update, or delete a password policy as needed. It is recommended to keep your policies reasonable to promote user compliance. On deleting a password policy, the IONOS standard applies for password management.
Info: The IONOS standard password policy requires a minimum of five characters and recommends including a combination of uppercase and lowercase letters, at least one number, and special characters if needed.
The Password Policy Manager feature is part of the Identity Management API and can be managed using the /{passwordPolicyId}/
endpoint. Further documentation can be found in the respective .
Note: All Create, Read, Update, and Delete (CRUD) operations that can be performed using the Password Policy Manager in the can also be accomplished via the API.
To access this API, you must authenticate requests using your Bearer token, which enables requests to authenticate using a JSON Web Token (JWT). From the DCD, .
Using the , you can create, update, or delete a password policy as needed.
To create a password policy, follow these steps:
1. In the DCD, go to Menu > Management > Password Policy under Security.
2. Click Create password policy in the Password Policy Manager.
3. Enter the following details to configure a password policy:
Description: Add a detailed description that explains the password policy. The length of the description must not exceed 1024 characters.
Password length: Enter or use arrow keys to select the maximum password length. You cannot set a password policy that is less than 5 characters in length. For example, if the defined length is 9, the password must be a minimum of nine characters in length.
Must contain uppercase letters [A—Z]: Select the checkbox if the password policy must contain any uppercase letters from A—Z
.
Minimum quantity: Enter or use arrow keys to specify the allowed count of uppercase characters in the password. For example, if 4 is the quantity chosen, the password must contain a minimum of four uppercase characters.
Must contain lowercase letters [a—z]: Select the checkbox if the password policy must contain any lowercase letters from a—z
.
Minimum quantity: Enter or use arrow keys to specify the allowed count of lowercase characters in the password. For example, if 4 is the quantity chosen, the password must contain a minimum of four lowercase characters.
Must contain numerics [0-9]: Select the checkbox if the password policy must contain numbers from 0 to 9.
Minimum quantity: Specify the minimum allowed count of numerics in the password.
Must contain special characters [@, #, $, %, etc.]: Select the checkbox if the password policy must contain special characters. Any character apart from a—z
,A—Z
, and 0 to 9 is referred to as a special character.
Minimum quantity: Specify the minimum allowed count of special characters in the password.
Note:
— There are no maximum limits defined for the password length, number of lowercase, uppercase, numerics, and special characters. The quantity specified in the password policy refers to the minimum allowed values.
— When the checkbox for a specific character type to be allowed is selected, then their Minimum quantity allowed value cannot be zero.
4. Click Save password policy.
Result: The password policy is successfully created.
Note:
— The created password policy is enforced only on new users setting up the password. Existing user accounts continue to work on the password policy previously used.
— You can create only one password policy for your contract.
To update an existing password policy, follow these steps:
1. In the DCD, go to Menu > Management > Password Policy under Security.
2. Click Edit to update the description or password policy details such as the length of the password or characters allowed in the password policy.
3. Click Save to reflect the changes made to the password policy.
Result: The password policy is successfully updated and these changes apply to new users setting up the password. Existing user accounts continue to work on the password policy previously used.
If you no longer need a password policy, you can delete it permanently. To delete an existing password policy, follow these steps:
1. In the DCD, go to Menu > Management > Password Policy under Security.
2. Click Delete and confirm the deletion again by selecting Delete and use IONOS Standard.
Info: The IONOS standard password policy requires a minimum of five characters and recommends including a combination of uppercase and lowercase letters, at least one number, and special characters if needed.
Result: The password policy is successfully deleted and the IONOS standard applies for password management.
The IONOS AI Model Hub API allows you to access foundation models, namely Large Language and text-to-image models. Currently we offer the following foundation models:
In this tutorial, you will learn how to access all foundation models hosted by IONOS. This tutorial is intended for developers. It assumes you have basic knowledge of:
REST APIs and how to call them
A programming language to handle REST API endpoints (for illustration purposes, the tutorials uses Python and Bash scripting)
By the end of this tutorial, you will be able to:
Get a list of all foundation models IONOS currently offers
Apply your prompt to one of the offered foundation models
The IONOS AI Model Hub API is an inference service that you can use to apply deep learning foundation models without having to manage necessary hardware yourself.
Our foundation models offering provides many state of the art open source models, you can use with your data being transfered out of Germany.
Using the foundation models enables you to use Generative Artificial Intelligence out of the box.
To get started, you should open your IDE to enter Python code.
Install required libraries
You need to install the module requests to your python environment. Optionally, we install pandas to format results:
2. Import required libraries
You need to import the module requests and pandas:
After this step, you have installed all python modules to use the foundation models API endpoints.
To get started, you should open a terminal and ensure that curl and jq is installed. While curl is essential for communicating with our API service, we use jq throughout our examples the improve the readability of the results of our API.
Invoke endpoint to get all models
To retrieve a list of foundation models supported by the IONOS AI Model Hub API enter:
This query returns a JSON document consisting of all foundation models and corresponding meta information
Convert list of endpoints to a human readable form
You can convert this JSON document to a pandas dataframe using:
You can convert this JSON document to a pandas dataframe using:
You can pretty print the content of this JSON document using jq:
The JSON document consists of 7 attributes per foundation model of which 3 are relevant for you:
id: The identifier of the foundation model
properties.description (IONOS API only): The textual description of the model
properties.name (IONOS API only): The name of the model
Note:
The identifier for the foundation models differ between IONOS API and OpenAI API.
Select the model to use
From the list you generated in the previous step, choose the model you want to use and the id. You will use this id in the next step to use the foundation model.
Apply prompt to foundation model
To use a foundation model with a prompt you wrote, you have to invoke the /predictions
endpoint of the model and send the prompt as part of the body of this query:
The endpoint will return the result after applying the prompt to the foundation model.
Our Large Language Models support two parameters when querying:
max_length (max_tokens for OpenAI compatiblity) specifies the maximum length of the output generated by the Large Language Model in tokens.
temperature specifies the temperature, that is the degree of creativity of the Large Language Model. The temperature can vary between 0 and 1. Lower values stand for less, higher values for more creativity.
Extract result
The result of the endpoint consists of several meta data and the output of the foundation model in one JSON object. The relevant data is saved in the field properties. You can access it using:
The field properties again consists of several key values pairs. The most relevant are:
input: The prompt you specified
output: The output of the foundation model after applying your prompt
inputLengthInTokens: The length of tokens of your input
outputLengthInTokens: The length of tokens of your output
The result consists of several key values pairs. The most relevant are:
choices.[].message.content: The output of the foundation model after applying your prompt
usage.prompt_tokens: The length of tokens of your input
usage.completion_tokens: The length of tokens of your output
The field properties again consists of several key values pairs. The most relevant are:
input: The prompt you specified
output: The output of the foundation model after applying your prompt
inputLengthInTokens: The length of tokens of your input
outputLengthInTokens: The length of tokens of your output
Note:
You are billed based on the length of your input and output in tokens. That is, you can calculate the cost of each query based on the fields inputLengthInTokens and outputLengthInTokens when using the IONOS API and usage.prompt_tokens and usage.completion_tokens when using the OpenAI API.
In this tutorial you learned how to use the IONOS AI Model Hub API to apply your prompts to the hosted foundation models.
Namely, you learned how to:
Get the list of supported foundation models
Make predictions by inputing your prompt to one of the foundation models.
Info: If you want to make any changes, contact .
Info: If you want to update the Country, contact .
You can set the default values for your . Each time you open a new VDC, will place your resources in the preset location, assigning them the same number of cores, memory size, capacity, and reserved . For example, you can specify that all new VDCs must be located in Karlsruhe or that all processors will use the Intel architecture.
In you forget your password, then you can reset it. For more information, see .
You need to install the Google Authenticator App on your device, from the or from based on the choice of your device.
Install the Google Authenticator app from the or from based on the choice of your device.
Result: The support PIN is now saved. You can use it to verify your account with .
Info If you want to extend these resources, contact .
You can view the breakdown of estimated costs and usage. The costs displayed in the DCD are a non-binding extrapolation based on your resource allocation since the last invoice. You can refer to your invoice for the actual costs. For more information on pricing, see .
If you have further questions or concerns, contact .
If you are a 1&1 IONOS hosting customer, refer to .
Meta (Licence)
Llama 3.1 Instruct (8B and 70B)
Ideal for dialogue use cases and natural language tasks: conversational agents, virtual assistants, and chatbots.
Meta (Licence)
Code Llama Instruct HF (13B)
Focuses on generating different kinds of computer code, understands programming languages
Mistral AI (Licence)
Mistral Instruct v0.3 (7B), Mixtral (8x7B)
Ideal for: Conversational agents, virtual assistants, and chatbots; Comparison to Llama 3: better with European languages; supports longer context length
stability.ai (Licence)
Stable Diffusion XL
Text to high-quality images
A Cube is a virtual machine with an attached NVMe Volume. Each Cube you create is a new virtual machine you can use, either standalone or in combination with other IONOS Cloud products. For more information, see Cubes.
You can create and configure your Cubes visually using the DCD interface. For more information, see Set Up a Cube. However, the creation and management of Cubes are easily automated via the Cloud API, as well as our custom-made tools and SDKs.
You may choose between eight template sizes. Each template varies by processor, memory, and storage capacity. The breakdown of resources is as follows:
XS
1
1 GB
30 GB
S
1
2 GB
50 GB
M
2
4 GB
80 GB
L
4
8 GB
160 GB
XL
6
16 GB
320 GB
XXL
8
32 GB
640 GB
3XL
12
48 GB
960 GB
4XL
16
64 GB
1280 GB
Configuration templates are set upon provisioning and cannot subsequently be changed.
Counters: The use of Cubes' vCPU, RAM, and NVMe storage resources counts into existing VDC resource usage. However, dedicated resource usage counters are enabled for Cubes. These counters permit granular monitoring of vCPUs and NVMe storage, which differ from Dedicated Core Servers for the enterprise VM instances and SSD block storage.
Billing: Please note that suspended Cubes continue to incur costs. If you do not delete unused instances, you will continue to be charged for usage. Save on costs by creating snapshots of NVMe volumes that you do not immediately need and delete unused instances. At a later time, use these snapshots to recreate identical Cubes as needed. Please note that recreated instances may be assigned a different IP address.
Included direct-attached storage: A default Cube comes ready with a high-speed direct-attached NVMe storage volume. Please check Configuration Templates for NVMe Storage sizes.
Add-on network block storage: You may attach more HDD or SSD (Standard or Premium) block storage. Each Cube supports up to 23 block storage devices in addition to the existing NVMe volume. Added HDD and SSD devices, as well as CD-ROMs, can be unmounted and deleted any time after the Cube is provisioned for use.
Boot options: Any storage device, including the CD-ROM, can be selected as the boot volume. You may also boot from the network.
Images and snapshots: Images and snapshots can be created from and copied to direct-attached storage, block storage devices, and CD-ROM drives. Also, direct-attached storage volume snapshots and block storage volumes can be used interchangeably
IONOS provides Direct Attached Storage (DAS) for Cube instances, offering NVMe volumes on the same physical host as the Cube. For DAS volumes created after feature availability, IONOS implements encryption at rest and secure deletion, mirroring the security features of Block Storage.
Encryption at rest protects inactive data on physical media. DAS uses the same encryption technology as Block Storage, AES-XTS (256-bit) encryption method. Each volume has a unique, securely stored encryption key that is inaccessible to root users.
Secure deletion ensures that deleted data cannot be restored, even with physical media access. When a DAS volume is deleted:
Metadata is "zeroed out," destroying the block mapping.
The volume's encryption key is destroyed, making any remaining encrypted data unreadable.
Cubes are limited to a maximum of 24 devices. The NVMe volume already occupies one of these slots.
You may not change the properties of a configuration template (vCPU, RAM, and direct-attached storage size) after the Cube is provisioned.
The direct-attached NVMe storage volume is set upon provisioning and cannot be unmounted or deleted from the instance.
If available account resources are not sufficient for your tasks, please contact our support team to increase resource limits for your account.
The IONOS AI Model Hub offers powerful AI capabilities to meet various needs. Here are three pivotal use cases you can implement with this service:
Foundation models are pre-trained on extensive datasets, allowing you to leverage state-of-the-art AI for text and image generation. These models can streamline tasks such as content generation, summarization, and question-answering.
Key Features:
Access various open-source Large Language Models (LLMs) and text-to-image models without managing the hardware.
Ensure data privacy with processing confined within Germany.
For a step-by-step guide on using Foundation Models, see Foundation Models tutorial.
Vector databases enable you to store and query large collections of documents based on semantic similarity. Converting documents into embeddings allows you to perform effective similarity searches, making it ideal for applications like document retrieval and recommendation systems.
Key Features:
Persist documents and search for semantically similar content.
Manage document collections through simple API endpoints.
For detailed instructions, see Document Embeddings tutorial.
RAG combines the strengths of foundation models and vector databases. It retrieves the most relevant documents from the database and uses them to augment the output of a foundation model. This approach enriches the responses, making them more accurate and context-aware.
Key Features:
Use foundation models with additional context from document collections.
Enhance response accuracy and relevance for user queries.
To learn how to implement RAG, see the Retrieval Augmented Generation tutorial.
These tutorials will guide you through each use case, providing clear and actionable steps to integrate advanced AI capabilities into your applications using the IONOS AI Model Hub.
The IONOS AI Model Hub allows you to combine foundation models and a vector database to implement retrieval augmented generation use cases.
Retrieval augmented generation is an approach that allows you to teach an existing Large Language Model, such as LLama or Mistral, to answer not only based on the knowledge the model learned during training, but also based on the knowledge you specified yourself.
Retrieval augmented generation uses two components:
a Large Language Model (we offer a corresponding model as part of our Foundation Models) and
If one of your users queries your retrieval augmented generation system, you first get the most similar documents from the corresponding document collection. Second, you ask the Large Language Model to answer the query by using both the knowledge it was trained on and the most similar documents from your document collection.
This tutorial is intended for developers. It assumes you have basic knowledge of:
REST APIs and how to call them
A programming language to handle REST API endpoints (for illustration purposes, the tutorials use Python and Bash scripting)
You should also be familiar with the IONOS:
By the end of this tutorial, you'll be able to: Answer customer queries using a Large Language Model which adds data from your document collections to the answers.
The IONOS AI Model Hub API offers both document embeddings and Large Language Models that you can use to implement retrieval augmented generation without having to manage corresponding hardware yourself.
Our AI Model Hub API provides all required functionality without your data being transferred out of Germany.
To get started,
set up a document collection using Document Embeddings and get the identifier of this document collection.
choose a Large Language Model out of our Foundation Models and derive the identifier of this Large Language Model.
You will need both identifiers in the subsequent steps.
Next, you should open your IDE to enter Python code.
Install required libraries
You need to install the modules requests and pandas to your Python environment:
2. Import required libraries
You need to import the following modules:
3. Generate header for API requests
Next, generate a header document to authenticate yourself against the REST API:
After this step, you have installed all Python modules and have one variable header you can use to implement your first retrieval augmented generation use case.
To get started, you should open a terminal and ensure that curl
and jq
are installed. While curl
is essential for communicating with our API service, we use jq
throughout our examples the improve the readability of the results of our API.
This section shows how to use the document collection and the contained documents to answer a user query.
Retrieve documents relevant for querying
To retrieve the documents relevant to answering the user query, invoke the query endpoint as follows:
This will return a list of the NUM_OF_DOCUMENTS
most relevant documents in your document collection for answering the user query.
Decode Base64 encoded documents
Now, decode the retrieved documents back to a string using:
Generate final answer
Now, combine the user query and the result from the document collection in one prompt:
The result will be a JSON-Document
consisting of the answer to the customer and some meta information. You can access the answer using:
Note:
For details on how to use the foundation model, see Foundation Models.
The best prompt strongly depends on the Large Language Model used. You might need to adapt your prompt to improve results.
Our Foundation Model API allows for automating the process described above. Namely, by specifying the collection ID and the collection query directly to our foundation model endpoint, it first queries the document collection and returns it in a variable which you can then directly use in your prompt. This section describes how to do this.
To implement a retrieval augmented generation use case with only one prompt, you have to invoke the /predictions endpoint of the Large Language Model you want to use and send the prompt as part of the body of this query:
This query conducts all steps necessary to answer a user query using retrieval augmented generation:
The user query (saved at collectionQuery) is sent to the collection (specified at collectionId).
The results of this query are saved in a variable .context, while the user query is saved in a variable .collection_query. You can use both variables in your prompt.
The example prompt uses the variables .context and .collection_query to answer the customer query.
Note:
For details on how to use the foundation model, see Foundation Models.
The best prompt strongly depends on the Large Language Model used. You might need to adapt your prompt to improve results.
In this tutorial, you learned how to use the IONOS AI Model Hub API to implement retrieval augmented generation use cases.
Namely, you learned how to: Derive answers to user queries using the content of your document collection and one of the IONOS foundation models.
The Remote Console is used to connect to a server when, for example, no SSH is available. You must have the root or administrator password for this type of log-in to the server.
Prerequisites: Make sure you have the appropriate permissions. Only contract owners, administrators, or users with access rights to the data center can connect to a server. Other user types have read-only access and can't provision changes.
Start the Remote Console from the server.
Open the data center containing the required server.
In the Workspace, select the server.
In the Inspector, choose Remote Console or select Remote Console from the context menu of the server.
Start the Remote Console from the Start Center (contract owners and administrators only).
Open the Start Center: Menu Bar > Data Center Designer > Open Start Center
Open the Details of the required data center. A list of servers in this data center is displayed.
Select the server and click Open Remote Console.
Remote Console version matching your browser opens; you can now log on to the server with root or administrator password.
Use the Send Key Combo button on the top right of the Remote Console window to send shortcut key combinations (such as CTRL+ALT+DEL).
Launch this Remote Console window again with one click by bookmarking its URL address in your browser.
For security reasons, once your session is over, always close the browser used to connect to VM with this bookmark.
When creating storages based on IONOS Linux images, you can inject SSH keys into your VM. This lets you access your VM safely and allows for secure communication. SSH keys that you intend to use more often can be saved in the DCD's SSH Key Manager.
Default SSH keys: SSH keys that you intend to use often and mark them as such in the SSH Key Manager. Default SSH keys are preselected when you configure storage devices. You can specify which SSH keys are actually to be used before provisioning and deselecting the preselected standard keys in favor of another SSH key.
Ad-hoc SSH keys: SSH keys that you only use once and don't intend to save in the SSH Key Manager for later re-use.
SSH keys can be generated and used on macOS or Linux if both OpenSSH and the ssh-keygen command-line tools are installed. OpenSSH is a collection of tools for establishing SSH connections to remote servers, while ssh-keygen is a utility for generating SSH keys.
Manually generate SSH keys when working with OpenSSH via the Terminal application by following the steps below.
1. Enter the following command below into the Terminal window and press ENTER.
The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.
2. Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa
.
If you have previously generated a key pair, you may see the following prompt below. If you choose to overwrite the key, you will no longer authenticate with the previous key that was generated.
3. Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase). However, we recommend that you use a passphrase.
4. Enter your passphrase once more.
After you confirm the passphrase, the public and private keys are generated and saved in the specified location. Thus, the confirmation will look like this:
The public key is saved to the file id_rsa.pub
which will be the key you upload to your DCD account. Your private key is saved to the id_rsa
file in the .ssh
directory and is used to verify that the public key you use belongs to the same DCD account.
You can copy the public key to your clipboard by running the following command:
In the SSH Key Manager of the DCD, you can save and manage up to 100 public SSH keys for the setup of SSH accesses. This saves you from having to repeatedly copy and paste the public part of an SSH key from an external source.
1. To open the SSH Key Manager, go to Menu > MANAGER resources > SSH Key Manager.
2. In the SSH Key Manager, select + Add Key.
3. Enter a Name and click Add.
4. Copy and paste the public key to the SSH key field. Alternatively, you may upload it via Select key file. Please ensure the SSH keys you enter are valid. The DCD does not validate syntax or format.
5. (Optional) Activate the Default checkbox to have the SSH key automatically pre-selected when SSH access is configured.
6. Click Save to store the key.
The SSH key is stored in the SSH Key Manager and can be used for the configuration of SSH accesses.
To delete an existing SSH key, select the SSH key from the list and click Delete Key.
The SSH key is removed from the SSH Key Manager.
You can connect to your virtual instance via OpenSSH. Still, you will need the terminal application, which varies depending on your operating system. For:
Linux: Search Terminal or press CTRL+ALT+T
macOS: Search Terminal
Windows: Search Bash. If you don’t have Bash installed, use PuTTY instead.
The steps below will show you how to connect to your VM.
1. Open the Terminal application and enter the SSH connection command below. After the @
, add the IP address of your VM instance. Then press ENTER.
When you log in for the first time, the server isn't recognized on your local machine, so you'll be asked if you're sure you want to keep connecting. You can type yes and then press ENTER.
2. Authentication is the next step in the connection process. If you've added the SSH keys, you'll be able to connect to the VM immediately or after entering your key pair's passphrase.
If you haven't already added SSH keys, you'll be asked for your password:
3. Once you’ve entered the password, press ENTER.
If the SSH key is configured correctly, this will log you into VM.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Cubes are virtual private service instances with shared resources. Refer to our user guides, reference documentation, and FAQs to support your hosting needs.
Prerequisites: Prior to setting up a virtual machine, make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a VDC. Other user types have read-only access and can't provision changes.
Learn how to create and configure a Cube inside of the DCD.
Use the Remote Console to connect to Server instances without SSH.
Use Putty or OpenSSH to connect to Server instances.
Automate the creation of virtual instances with the cloud-init package.
Enable IPv6 support for Cubes.
Prerequisites: Prior to setting up a virtual machine, make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a VDC. Other user types have read-only access and can't provision changes.
Learn how to create and configure a Cube inside of the DCD.
Use the Remote Console to connect to Server instances without SSH.
Use Putty or OpenSSH to connect to Server instances.
Automate the creation of virtual instances with the cloud-init package.
Enable IPv6 support for Cubes.
1. Drag the Cube element from the Palette into the Workspace.
2. Click the Cube element to highlight it. The Inspector will appear on the right.
3. In the Inspector, configure your Cube from the Settings tab.
Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).
Template: choose the appropriate configuration template.
vCPUs: set automatically when a Template is chosen.
RAM in GB: set automatically when a Template is chosen.
Storage in GB: set automatically when a Template is chosen.
4. You will also notice that the Cube comes with an Unnamed Direct Attached Storage. Click on the storage device and rename it in the Inspector.
Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).
Size in GB: Specify the required storage capacity.
Image: You can select one of IONOS' images or use your own.
Password: The combination should be between 8 and 50 characters in length; using only Latin characters and numbers.
Backup Unit: Backs up all data with version history to local storage or your private cloud storage.
1. Drop a Storage element from the Palette onto a Cube in the Workspace to connect both.
2. In the Inspector, configure your Storage device in the Settings tab.
Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).
Availability Zone: Choose the Zone where you wish to host the Storage device.
Size in GB: Specify the required storage capacity for the SSD.
Performance: Depends on the size of the SSD.
Image: You can select one of IONOS' images or use your own.
Password: The combination should be between 8 and 50 characters in length; using only Latin characters and numbers.
Backup Unit: Backs up all data with version history to local storage or your private cloud storage.
1. Each compute instance has a NIC, which is activated via the Autoport symbol. Connect the Cube to the Internet by dragging a line from the Cube's Autoport to the Internet's NIC.
2. In the Inspector, configure your LAN device in the Network tab.
Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).
MAC: The MAC address will be assigned automatically upon provisioning.
Primary IP: The primary IP address is automatically assigned by the IONOS DHCP server. You can, however, enter an IP address for manual assignment by selecting one of the reserved IPs from the drop-down menu. Private IP addresses should be entered manually. The NIC has to be connected to the Internet.
Failover: If you have an HA setup including a failover configuration on your VMs, you can create and manage IP failover groups that support your HA setup.
Firewall: Configure a firewall.
DHCP: It is often necessary to run a DHCP server in your virtual data center (e.g. PXE boot for fast rollout of VMs). If you use your own DHCP server, clear this checkbox so that your IPs are not reassigned by the IONOS DHCP server.
Additional IPs: In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down menu.
1. Choose a Cube. From the Settings tab in the Inspector, select Power > Suspend.
2. (Optional) In the dialog that appears, connect using Remote Console and shut down the VM at the operating system level to prevent data loss.
3. Confirm your action by checking the appropriate box and clicking Apply SUSPEND.
4. Provision your changes. Confirm the action by entering your password.
Result: The Cube is suspended but not deleted.
1. Choose a Cube. From the Settings tab in the Inspector, select Power > Resume.
2. Confirm your action by checking the appropriate box and clicking Apply RESUME.
3. Provision your changes. Confirm the action by entering your password.
Result: The Cube is resumed.
The server is switched off. CPU, RAM, and IP addresses are released and billing is suspended. Connected storage devices will still be billed. Reserved IP addresses are not removed from the server. The deallocated virtual machine is marked by a red cross in DCD.
1. Start the provisioning process by clicking PROVISION CHANGES in the Inspector.
2. The Provision Data Center dialog opens. Review your changes in the Validation tab.
3. Confirm changes with your password. Resolve outstanding errors without a password.
4. Once ready, click Provision Now to start provisioning resources.
Result: The data center is now provisioned with the new Cube. DCD will display a Provisioning Complete notification once your cloud infrastructure is ready.
The Cloud API lets you manage Cubes resources programmatically using conventional HTTP requests. All the functionality available in the IONOS Cloud Data Center Designer is also available through the API.
You can use the API to create, destroy, and retrieve information about your Cubes. You can also use the API to suspend or resume your Cubes.
However, not all actions are shared between Dedicated Core Servers and Cubes. Since Cubes come with direct-attached storage, a composite call is required for setup.
Furthermore, when provisioning Cubes, Templates must be used. Templates will not be compatible with Servers that still support full flex configuration.
GET
https://api.ionos.com/docs/cloud/v6/#tag/Templates/cloudapi/v6/templates
This method retrieves a list of configuration templates that are currently available. Instances have a fixed configuration of vCPU, RAM and direct-attached storage size.
GET
https://api.ionos.com/docs/cloud/v6/#tag/Templates/cloudapi/v6/templates?depth=1
Retrieves Template information. Refine your request by adding the optional query parameter
depth
. The response will show a template's ID, number of cores, ram and storage size.
The payload of a composite call to configure a Cubes instance is different from that of a POST
request to create an enterprise server. In a single request you can create a new instance, as well as its direct-attached storage device and image (public image, private image, or snapshot). When the request is processed, a Cubes instance is created and the direct-attached storage is mounted automatically.
POST
https://api.ionos.com/cloudapi/v6/datacenter/{datacenterId}/servers
This method creates an instance in a specific data center.
\
Replace {datacenterID} with the unique ID of your data center. Your Cube will be provisioned in this location.
POST
https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}/suspend
This method suspends an instance.
This does not destroy the instance. Used resources will be billed.
POST
https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}/resume
This method resumes a suspended instance.
DELETE
https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}
This method deletes an instance.
Deleting an instance also deletes the direct-attached storage NVMe volume. You should make a snapshot first in case you need to recreate the instance with the appropriate data device later.
You can enable IPv6 on Cubes when you create them or after you create them.
You can set up IPv6 to improve the network connectivity for your virtualized environment. By setting up IPv6 for your Cubes, you can ensure that they are accessible to IPv6-enabled networks and clients.
Prerequisites: Prior to enabling IPv6, make sure you have the appropriate privileges. New VDC can be created by the contract owners, admins, or users with create VDC privilege. The number of bits in the fixed address is the prefix length. For Data Center IPv6 CIDR, the prefix length is /56.
To enable IPv6 for Cubes, connect the server to an IPv6-enabled LAN. Select the Network option on the right pane and fill in the following fields:
Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).
MAC: This field is automatically populated.
LAN: Select an IPv6 enabled Local Area Network (LAN).
Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create flow logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create flow logs for all traffic.
Flow Log: Select + to add a new flow log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.
IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the Dedicated Core Server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.
IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down list in Add IP.
Note:
IPv6 CIDR assigned to LANs(/64) and NICs(/80 and /128) must be unique.
You can create a maximum of 256 IPv6-enabled LANs per VDC.
For a long time, the duopoly of virtual private servers (VPS) and dedicated cloud servers dominated virtualized computing environments.
Enter Cubes — virtual private service instances — the next generation of IaaS. Developed by IONOS Cloud, Cubes are ideal for specific workloads that do not require high compute performance from all resources at all times — development and testing environments, website hosting, simple web applications, and so on.
While based on shared resources, the Cubes can rival physical servers through a platform design that can redistribute available performance capacities among individual instances. At the same time, reduced operational complexity and highly optimized resource utilization translate into lower operating costs.
Cubes instances come complete with vCPUs, RAM, and direct-attached NVMe storage volumes; choose among standard by selecting one of several for your Cubes. Storage capacities can be expanded further by to your Cubes.
Cubes instances can be used together with all enterprise-grade features, resources, and services, offered by IONOS Cloud.
Affordable, quickly available, and with everything you need — have your Cubes up and running in minutes in the IONOS Cloud.
is a software package that automates the initialization of during system boot. When you deploy a new Linux server from an , cloud-init gives you the option to set default user data. User data must be written in shell scripts or cloud-config directives using YAML syntax. This method is highly compatible across platforms and fully secure.
Compatibility: This service is supported on all public IONOS Cloud Linux distributions (Debian, CentOS, and Ubuntu). You may submit user data through the or via . Existing cloud-init configurations from other providers are compatible with IONOS Cloud.
Limitations: Cloud-init is available on all public images supplied by IONOS Cloud. If you wish to use your own Linux image, please make sure that it is cloud-init supported first. Otherwise, there is no guarantee that the package will function as intended. Windows images are currently out of scope; adding them may be considered at a later stage.
Provisioning: Cloud-init can only be set at initial provisioning. It cannot be applied to instances that have already been provisioned. Settings can't be changed once provisioned.
Laptops: When using a laptop, please scroll down the properties panel, as additional fields are not immediately visible on a small screen.
This tutorial demonstrates the use of cloud-config and user-data scripts. However, the cloud-init package supports a variety of formats.
1. In the DCD, create a new virtual instance and attach any storage device to it.
2. Ensure the storage device is selected. Its Inspector pane should be visible on the right.
3. When choosing the Image, you may either use your own or pick one that is supplied by IONOS.
For IONOS supplied images, select No image selected > IONOS Images.
Alternatively, for private images select No image selected > Own Images.
4. Once you choose an image, additional fields will appear in the Inspector pane.
5. A Root password is required for Remote Console access. You may change it later.
6. SSH keys are optional. You may upload a new key or use an existing file. SSH keys can also be injected as user data utilizing cloud-init.
7. You may add a specific key to the Ad-hoc SSH Key field.
8. Under Cloud-init user data, select No configuration and a window will appear.
9. Input your cloud-init data. Either use a bash script or a cloud-config file with YAML syntax. Sample scripts are provided below.
10. To complete setup, return to the Inspector and click Provision Changes. Cloud-init automatically runs at boot, applying the changes requested.
Using shell scripts is an easy way to bootstrap a server. In the example script below, the code creates and configures our CentOS web server.
Allow enough time for the instance to launch and run the commands in your script, and then check to see that your script has completed the tasks that you intended.
Cloud-init images can also be bootstrapped using cloud-config directives. The cloud-init website outlines all supported modules and gives examples of basic directives.
The following script is an example of how to create a swap partition with second block storage, using a YAML script:
The following script is an example of how to resize your file system according to the chosen size of the block storage. It will also create a user with an SSH key, using a cloud-config YAML script:
The cloud-init output log file (/var/log/cloud-init-output.log) captures console output. Depending on the default configuration for logging, a second log file exists under /var/log/cloud-init.log. **** This provides a comprehensive record based on user data.
Cloud API provides enhanced convenience if you want to automate the provisioning and configuration of cloud instances. Cloud-init is configured on the volume resource in Cloud API V6 (or later). Please find the link to the documentation below:
Name: userData
Type: string
Description: The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image
or imageAlias
that has cloud-init compatibility in conjunction with this property.
A composite call doesn't only configure a single instance but also defines additional devices. This is required because a Cube must include a direct-attached storage device. An instance cannot be provisioned and then mounted with a direct-attached storage volume. Composite calls are used to execute a series of requests into a single API call. You can use the output of one request as the input for a subsequent request.
When the DCD returns the message that has been successfully completed this means the infrastructure is virtually set up. However, bootstrapping, which includes the execution of cloud-init data, may take additional time. This execution time is not included in the success message. Please allow extra time for the tasks to complete before testing.
The above example will install a web server and rewrite the default index.html file. To test if cloud-init bootstrapped your successfully, you can open the corresponding in your browser. You should be greeted with a “Hello World” message from your web server.
v6
string
The API version.
templates
string
Template attributes: ID, metadata, properties.
depth
integer
Template detail depth. Default value = 0.
v6
string
datacenter
string
The API version.
datacenterId
string
The unique ID of the data center.
servers
string
v6
string
The API version.
datacenterId
string
The unique ID of the data center.
serverId
string
The unique ID of the instance.
v6
string
The API version.
datacenterId
string
The unique ID of the data center.
serverId
string
The unique ID of the instance.
v6
string
The API version.
datacenterID
string
The unique ID of the data center.
serverID
string
The unique ID of the instance.
Cloud API outlines all required actions.
v6
string
The API version
templates
string
Template attributes: ID, metadata, properties.
Learn how to create and configure a Dedicated Core server inside of the DCD.
Learn how to create and configure a vCPU Server inside of the DCD.
Use the Remote Console to connect to Server instances without SSH.
Use Putty or OpenSSH to connect to Server instances.
Automate the creation of virtual instances with the cloud-init package.
Base64
If user-data is base64-encoded, cloud-init determines if it can understand the decoded data as one of the supported types. If it understands the decoded data, it decodes the data and handles it appropriately. If not, it returns the base64 data intact.
User-Data Script
Begins with #!
or Content-Type: text/x-shellscript
.
The script is run by /etc/init.d/cloud-init-user-scripts during the first boot cycle. This occurs late in the boot process (after the initial configuration actions are performed).
Include File
Begins with #include
or Content-Type: text/x-include-url
.
The file contains a list of URLs, one per line. Each of the URLs is read, and their content is passed through this same set of rules. The content read from the URL can be MIME-multi-part or plaintext.
Cloud Config data
Begins with #cloud-config
or Content-Type: text/cloud-config
.
For a commented example of supported configuration formats, see the examples.
Upstart Job
Begins with #upstart-job
or Content-Type: text/upstart-job
.
This content is stored in a file in /etc/init
, and upstart consumes the content as per other upstart jobs.
Cloud Boothook
Begins with #cloud-boothook
or Content-Type: text/cloud-boothook
.
This content is boothook
data. It is stored in a file under /var/lib/cloud
and then runs immediately.
This is the earliest hook
available. There is no mechanism provided for running it only one time. The boothook must take care of this itself. It is provided with the instance ID in the environment variable INSTANCE_ID.
Use this variable to provide a once-per-instance set of boothook data
Dedicated Core Servers that you create in the DCD are provisioned and hosted in one of IONOS' physical data centers. Dedicated Core Servers behave exactly like physical servers. They can be configured and managed with your choice of the operating system. For more information about creating a Dedicated Core Server, see Create a Server.
Boot options: For each server, you can select to boot from a virtual CD-ROM/DVD drive or a storage device (HDD or SSD) using any operating system on the platform. The only requirement is the use of KVM VirtIO drivers. IONOS provides a number of ready-to-boot images with multiple versions of Microsoft Windows and different Linux distributions, including Red Hat Enterprise Linux.
Secure your data, enhance reliability, and set up high-availability scenarios by deploying your Dedicated Core Servers and storage devices across multiple Availability Zones.
Assigning different Availability Zones ensures that servers or storage devices reside on separate physical resources at IONOS.
For example, a server or a storage device assigned to Availability Zone 1 resides on a different resource than a server or storage device assigned to Availability Zone 2.
You have the following Availability Zone options:
Zone 1
Zone 2
A - Auto (default; our system automatically assigns an Availability Zone upon provisioning)
If the capacity of your Virtual Data Center no longer matches your requirements, you can still increase or decrease your resources after provisioning. Upscaling resources allows you to change the resources of a Dedicated Core Server without restarting it, permitting you to add RAM or NICs ("hot plug") to it while it is running. This change allows you to react to peak loads quickly without compromising performance.
After uploading, you can define the properties of your images before applying them to new storage volumes. The settings must be supported by the image, otherwise, they will not work as expected. After provisioning, you can change the settings directly on the storage device, which will require a restart of the server.
The types of resources that you can scale without rebooting will depend on the operating system of your Virtual Machines (VMs). Since kernel 2.6.25, Linux has LVO modules installed by default, but you may have to activate them manually depending on the derivative. VirtIO drivers are optimized for virtual environments and provide direct access to underlying hardware.
For IONOS images, the supported properties are already preset. Without restarting the Dedicated Core Server, its resources can be scaled as follows:
Upscaling: CPU, RAM, NICs, storage volumes
Downscaling: NICs, storage volumes
Scaling up is the increase or speed up of a component to handle a larger load. The goal is to increase the number of resources that support an application to achieve or maintain accurate performance. Scaling down means reducing system resources, irrespective of whether you have used the scaling-up approach. Without restarting the Dedicated Core Server, only upscaling is possible.
CPU Types: Dedicated Core Server configurations are subject to the following limitations, by CPU type:
AMD CPU
Cores
1 core
62 cores
RAM
0,25 GB RAM
230 GB RAM*
NICs and storage
0 PCI connectors
24 PCI connectors
CD-ROM
0 CD-ROMs
2 CD-ROMs
Intel® CPU
Cores
1 core
51 cores
RAM
0,25 GB RAM
230 GB RAM*
NICs and storage
0 PCI connectors
24 PCI connectors
CD-ROM
0 CD-ROMs
2 CD-ROMs
Note: Additional RAM sizes are available on request. To increase the RAM size, contact your sales representative or IONOS Cloud Support.
A single Intel® physical core with Hyper-Threading Technology is exposed to the operating system of your Dedicated Core Server as two distinct "logical cores", which process separate threads.
RAM Sizes: Because the working memory (RAM) size cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.
Live Vertical Scaling: Linux supports the entire scope of IONOS Live Vertical Scaling, whereas Windows is limited to CPU scaling. Furthermore, it is not possible to use LVS to reduce storage size after provisioning.
The Remote Console is used to connect to a server when, for example, no SSH is available. You must have the root or administrator password for this type of log-in to the server.
Prerequisites: Make sure you have the appropriate permissions. Only contract owners, administrators, or users with access rights to the data center can connect to a server. Other user types have read-only access and can't provision changes.
Start the Remote Console from the server.
Open the data center containing the required server.
In the Workspace, select the server.
In the Inspector, choose Remote Console or select Remote Console from the context menu of the server.
Start the Remote Console from the Start Center (contract owners and administrators only).
Open the Start Center: Menu Bar > Data Center Designer > Open Start Center
Open the Details of the required data center. A list of servers in this data center is displayed.
Select the server and click Open Remote Console.
Remote Console version matching your browser opens; you can now log on to the server with root or administrator password.
Use the Send Key Combo button on the top right of the Remote Console window to send shortcut key combinations (such as CTRL+ALT+DEL).
Launch this Remote Console window again with one click by bookmarking its URL address in your browser.
For security reasons, once your session is over, always close the browser used to connect to VM with this bookmark.
A vCPU Server that you create is a new Virtual Machine (VM) provisioned and hosted in one of IONOS' physical data centers. A vCPU Server behaves exactly like physical servers and you can use them either standalone or in combination with other IONOS Cloud products.
You can create and configure your vCPU Server visually using the DCD interface. For more information, see Set Up a vCPU Server. However, the creation and management of a vCPU Server can be easily automated via the Cloud API, as well as our custom-made tools like SDKs.
vCPU Servers add a new dimension to your computing experience. These servers are configured with virtual CPUs and distributed among multiple users sharing the same physical server. The performance of your vCPU Server relies on various factors, including the underlying CPU of the physical server, VM configurations, and the current load on the physical server. Our Data Center Dashboard (DCD) lets you closely monitor your CPU utilization and other essential metrics through the Monitoring Manager.
For each vCPU Server, you can select to boot from a virtual CD-ROM/DVD drive or a storage device (HDD or SSD) using any operating system on the platform. The only requirement is the use of KVM VirtIO drivers. For more information on how to install VirtIO drivers in windows, see Install Windows VirtIO Drivers . IONOS provides a number of ready-to-boot images with current versions of Linux operating systems.
Secure your data, enhance reliability, and set up high-availability scenarios by deploying your vCPU Servers and storage devices across multiple Availability Zones allowing you to deploy your Shared vCPU instances in different geographic regions.
Assigning different Availability Zones ensures that vCPU Servers or storage devices reside on separate physical resources at IONOS. This helps ensure high availability and fault tolerance for your applications, as well as providing low-latency connections to your target audience.
For example, a vCPU Server or a storage device assigned to Availability Zone 1 resides on a different resource than a vCPU Server or storage device assigned to Availability Zone 2.
You have the following Availability Zone options:
Zone 1
Zone 2
A - Auto (default; our system automatically assigns an Availability Zone upon provisioning)
If the capacity of your Virtual Data Center (VDC) no longer matches your requirements, you can still increase or decrease your resources after provisioning. Upscaling resources allows you to change the resources of a vCPU Server without restarting it, permitting you to add RAM or NICs ("hot plug") to it while it is running. This change allows you to react to peak loads quickly without compromising performance.
After uploading, you can define the properties of your images before applying them to new storage volumes. The settings must be supported by the image, otherwise, they will not work as expected. After provisioning, you can change the settings directly on the storage device, which will require a restart of the vCPU Server.
The types of resources that you can scale without rebooting will depend on the operating system of your vCPU Server. Since kernel 2.6.25, Linux has LVO modules installed by default, but you may have to activate them manually depending on the derivative. VirtIO drivers are optimized for virtual environments and provide direct access to underlying hardware.
For IONOS images, the supported properties are already preset. Without restarting the vCPU Server, its resources can be scaled as follows:
Upscaling: CPU, RAM, NICs, storage volumes
Downscaling: NICs, storage volumes
Scaling up is the increase or speed up of a component to handle a larger load. The goal is to increase the number of resources that support an application to achieve or maintain accurate performance. Scaling down means reducing system resources, whether or not you have used the scaling-up approach. Without restarting the vCPU Server, only Upscaling is possible.
vCPU Server provides the following features:
Flexible Resource Allocation provides you with presets, which are recommended vCPU-to-RAM configurations for your virtual machines. Furthermore, this option empowers you to add or remove compute resources flexibly to meet your specific needs.
The Robust Compute Engine platform supports the vCPU servers, ensuring seamless integration. Additionally, the features offered by the Compute Engine platform remain accessible for utilization with vCPU servers
Virtualization Technology enables efficient and secure isolation between different VMs, ensuring the performance of one VM does not impact the others.
Reliable Performance and computing capabilities make it suitable for a wide range of applications. The underlying infrastructure is optimized to provide reliable CPU performance, ensuring your applications run smoothly.
Easy Management via the intuitive Data Center Designer. You can easily create, modify, and delete vCPU Servers, monitor their usage, and adjust the resources according to your needs.
vCPU Server provides the following benefits:
Cost-Effective: vCPU Server helps reduce costs when compared to major hyperscalers with similar resource configurations. This makes it an ideal choice for small to medium-sized businesses or individuals with budget constraints.
Scalability:** With the IONOS vCPU Server, you have the flexibility to scale your computing resources up or down based on your requirements. This ensures that you can meet the demands of your applications without overprovisioning or paying for unused resources.
Reliability and Availability: IONOS's cloud infrastructure ensures high availability and reliability. By distributing resources across multiple physical servers, IONOS minimizes the impact of hardware failures, providing a stable and resilient environment for your applications.
Easy Setup: Setting up the IONOS vCPU Server is straightforward. The IONOS DCD and Cloud API offer controls for provisioning and configuring vCPU Servers, allowing you to get up and running quickly.
This section lists the limitations of vCPU Servers:
CPU Family of a vCPU Server cannot be chosen at the time of creation and cannot be changed later. vCPU Server configurations are subject to the following:
vCPU
1 vCPU
60 vCPUs
RAM
0,25 GB RAM
230 GB RAM*
NICs and storage
0 PCI connectors
24 PCI connectors
CD-ROM
0 CD-ROMs
2 CD-ROMs
Note: Additional RAM sizes are available on request. To increase the RAM size, contact your sales representative or IONOS Cloud Support.
RAM Sizes: Because the working memory (RAM) size cannot be processed during the initial configuration, a newly provisioned vCPU Server with more than 8 GB of RAM may not start successfully when created from the IONOS Windows images.
Live Vertical Scaling: Linux supports the entire scope of IONOS Live Vertical Scaling, whereas Windows is limited to CPU scaling. Furthermore, it is not possible to use LVS to reduce storage size after provisioning.
Note: To increase the resource limits for your account, contact IONOS Cloud Support
The following are a few FAQs to provide an insight about renaming the product from Virtual Server(s) to Dedicated Core Server(s).
The name change is part of our ongoing efforts to better reflect the performance and benefits of our Virtual Machines. "Dedicated Core Servers" emphasizes the dedicated nature of the compute resources assigned to each instance, ensuring consistent performance and increased reliability.
No, there won't be any changes in the features or specifications of the product. The only update is the product name from "Virtual Servers" to "Dedicated Core Servers".
The underlying technology and capabilities of the Virtual Machines remain the same. The primary difference lies in the name. With "Dedicated Core Servers," you can still expect virtualized environments but with the added emphasis on dedicated resources per instance.
There will be no changes to the pricing structure due to the name update. The costs and billing for our Virtual Machines, now known as "Dedicated Core Servers," will remain the same as they were for "Virtual Servers."
Yes, "Dedicated Core Server" instances are isolated from one another. Each instance operates independently, with dedicated CPU cores, memory, and storage, ensuring a high level of performance and security.
Existing users of "Virtual Servers" will experience no functional changes or disruptions due to the name update. Your current virtual server instances will be referred to as "Dedicated Core Server" instances from now on.
Yes, you can continue to use the same APIs and tools that were used to manage regular virtual servers for the newly renamed Dedicated Core Servers.
No, as a user, you do not need to take any action. The name change is purely cosmetic, and your existing configurations and access to your instances will remain unchanged.
Yes, we will update the user interface and API documentation to reflect the new name "Dedicated Core Servers". Rest assured, the changes will be cosmetic, and the functionality will remain consistent.
Absolutely! You can continue to create and manage multiple "Dedicated Core Server" instances as per your requirements, just as you did with "Virtual Servers."
For more information or support, you can refer to our documentation on the "Dedicated Core Server" product page on our documentation portal. Additionally, our customer support team is available to assist you with any questions or concerns you may have.
SSH keys can be generated and used on macOS or Linux if both OpenSSH and the ssh-keygen command-line tools are installed. OpenSSH is a collection of tools for establishing SSH connections to remote servers, while ssh-keygen is a utility for generating SSH keys.
An SSH key is composed of two files. The first is the private key, which should never be shared. The other is a public key that enables you to access your provisioned Cubes. When you generate the keys, you will use ssh-keygen to store them in a secure location so that you can connect to your instances without encountering the login prompt.
Manually generate SSH keys when working with OpenSSH via the Terminal application by following the steps below.
Enter the following command below into the Terminal window and press ENTER.
The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.
Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa
.
If you have previously generated a key pair, you may see the following prompt below. If you choose to overwrite the key, you will no longer authenticate with the previous key that was generated.
Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase). However, we recommend that you use a passphrase.
Enter your passphrase once more.
After you confirm the passphrase, the public and private keys are generated and saved in the specified location. Thus, the confirmation will look like this:
The public key is saved to the fileid_rsa.pub
which will be the key you upload to your DCD account. Your private key is saved to the id_rsa
file in the .ssh
directory and is used to verify that the public key you use belongs to the same DCD account.
You can copy the public key to your clipboard by running the following command:
In addition to the SSH Keys stored in the SSH Key Manager, the IONOS Cubes SSH key concept includes:
Default keys
Ad-hoc SSH Keys.
Default keys are SSH keys that you intend to use frequently and have marked as such in the SSH Key Manager. When you configure storage devices, the default SSH keys are pre-selected. You can, however, specify which SSH keys are to be used before provisioning and deselect the preselected standard keys in favor of another SSH key.
Ad-hoc SSH keys, on the other hand, are SSH keys that you only use once and do not intend to save in the SSH Key Manager for future use.
The DCD's SSH Key Manager allows you to save and manage up to 100 public SSH keys for SSH access setup. This saves you from having to copy and paste the public part of an SSH key from an external source multiple times.
Log in to your DCD account after copying the SSH key to the clipboard (Link).
1. Open the SSH Key Manager: Menu > Management > SSH Keys
2. Select the + Add Key in the top left corner.
3. Paste the SSH key from the clipboard into the SSH Key field. If you have saved your SSH Key in a file, you can upload it by selecting the Choose file button in the Select Key file field.
Make sure the SSH keys you enter are valid. The DCD does not validate the syntax or format of the keys.
Optional: Select the Default checkbox to have the SSH key pre-selected when configuring SSH access.
4. Click Save to save the key. The SSH key has now been saved in the SSH Key Manager and is visible in the SSH Key Manager's table of keys.
You can connect to your Cubes instance via OpenSSH. Still, you will need the terminal application, which varies depending on your operating system. For:
Linux: Search Terminal or press CTRL+ALT+T
macOS: Search Terminal
Windows: Search Bash. If you don’t have Bash installed, use PuTTY instead.
The steps below will show you how to connect to your Cubes.
Open the Terminal application and enter the SSH connection command below. After the @
, add the IP address of your Cubes instance. Then press ENTER.
When you log in for the first time, the server isn't recognized on your local machine, so you'll be asked if you're sure you want to keep connecting. You can type yes and then press ENTER.
Authentication is the next step in the connection process. If you've added the SSH keys, you'll be able to connect to the Cubes immediately or after entering your key pair's passphrase.
If you haven't already added SSH keys, you'll be asked for your password:
Nothing is displayed in the terminal when you enter your password, making it easier to paste in the initial password. Pasting into text-based terminals is different from other desktop applications. It is also different from one window manager to another:
For Linux Gnome Terminal, use CTRL+SHIFT+V.
For macOS, use the SHIFT-CMD-V or a middle mouse button.
For Bash on Windows, right-click on the window bar, choose Edit, then Paste. You can also right-click to paste if you enable QuickEdit mode.
Once you’ve entered the password, press ENTER.
If the SSH key is configured correctly, this will log you into the Cubes.
Prerequisites: Prior to setting up a virtual machine, please make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a . Other user types have read-only access and can't provision changes.
Learn how to create and configure a Dedicated Core inside of the DCD.
Learn how to create and configure a vCPU Server inside of the DCD.
Use the Remote Console to connect to Server instances without SSH.
Use Putty or OpenSSH to connect to Server instances.
Automate the creation of virtual instances with the cloud-init package.
Enable IPv6 support for Dedicated Core Servers and vCPU Servers.
August 18
This is solely for informational purposes and does not require anything from you. IONOS has renamed Virtual Server(s) to Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see Product Renaming FAQs.
The user who creates the Dedicated Core server has full root or administrator access rights. A server, once provisioned, retains all its settings (resources, drive allocation, password, etc.), even after a restart at the operating system level. The server will only be removed from your Virtual Data Center once you delete a server in the DCD. For more information, see Dedicated Core Servers.
Prerequisites: Make sure you have the appropriate privileges. Only contract administrators, owners, or users with the Create Data Center privilege can set up a VDC. Other user types have read-only access and can't provision changes.
1. Drag the Dedicated Core server element from the Palette onto the Workspace.
The created Dedicated Core server is automatically highlighted in turquoise. The Inspector pane allows you to configure the properties of this individual server instance.
2. In the Inspector pane on the right, configure your server in the Settings tab.
Name: Choose a name unique to this VDC.
Availability Zone: The zone where you wish to physically host the server. Choosing A - Auto selects a zone automatically. This setting can be changed after provisioning.
CPU Architecture: Choose between AMD or Intel cores. You can later change the CPU type for a Dedicated Core server that is already running, though you will have to restart it first.
Cores: Specify the number of CPU cores. You may change these after provisioning. Note that there are configuration limits.
RAM: Specify RAM size; you may choose any size between 0.25 GB to 240 GB in steps of 0.25 GB. This setting can be increased after provisioning.
SSH Keys: Select premade SSH Key. You must first have a key stored in the SSH Key Manager. Learn how to create and add SSH Keys.
Ad-hoc Key: Copy and paste the public part of your SSH key into this field.
Drag a storage element (HDD or SSD) from the Palette onto a Dedicated Core server in the Workspace to connect them together. The highlighted VM will expand with a storage section.
Click the Unnamed HDD Storage to highlight the storage section. Now you can see new options in the Inspector pane on the right.
Storage type cannot be changed after provisioning.
Enter a name that is unique within your VDC.
Select a zone in which you want the storage device to be maintained. When you select A (Auto), our system assigns the optimal Zone. The Availability Zone cannot be changed after provisioning.
Specify the required storage capacity. You can increase the size after provisioning, even while the vCPU Server is running, as long as its operating system supports it. It is not possible to reduce the storage size after provisioning.
You can select one of IONOS images or snapshots, or use your own. Only images and snapshots that you have access to are available for selection. Since provisioning does not require you to specify an image, you can also create empty storage volumes.
Authentication
Set the root or administrator password for your Dedicated Core server according to the guidelines. This is recommended for both operating system types.
Select an SSH key stored in the SSH Key Manager.
Copy and paste the public part of your SSH key into this field.
Select the storage volume from which the Dedicated Core server is to boot by clicking on BOOT or Make Boot Device.
Provision your changes. The storage device is now provisioned and configured according to your settings.
Alternative Mode
When adding a storage element using the Inspector pane, select the appropriate check box in the Add Storage dialog box. If you wish to boot from the network, set this on the Dedicated Core server: Dedicated Core server in the Workspace > Inspector pane > Storage.
It is recommended to always use VirtIO to benefit from the full performance of InfiniBand. IDE is intended for troubleshooting if, for instance, the operating system has no VirtIO drivers installed. In this case, Windows usually displays a "blue screen" when booting.
After provisioning, the Live Vertical Scaling properties of the selected image are displayed. You can make changes to these properties later, which will require a reboot. You can set the properties of your uploaded images before you apply them to storage volumes in the Image Manager.
(Optional) Add and configure further storage elements.
(Optional) Make further changes to your data center.
Provision your changes. The storage device is now provisioned and configured according to your settings.
To assign an image and specify a boot device, you need to add and configure a storage element.
Click on CD-ROM to add a CD-ROM drive so that you can use ISO images to install and configure an operating system from scratch.
Set up a network by connecting the Dedicated Core server to other elements, such as an internet access element or other servers through their NICs.
Provision your changes.
The Dedicated Core server is available according to your settings.
We maintain dedicated resources available for each customer. You do not share your physical CPUs with other IONOS clients. For this reason, the servers switched off at the operating system level, still incur costs.
You should use the DCD to shut down virtual machines so that resources are completely deallocated, and no costs are incurred. Dedicated Core servers deallocated this way remain in your infrastructure while the resources are released and can then be redistributed.
This can only be done in the DCD. Shutting down a VM at the operating system level alone does not deallocate the resources or suspend the billing. Regardless of how the VM is shut down, it can only be restarted using the DCD.
A reset forces the Dedicated Core server to shut down and reboot but may result in data loss.
Stopping a VM will:
Suspend billing
Cut power to your VM
De-allocate any dynamically assigned IP address
1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Stop.
2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply STOP.
3. Provision your changes. Confirm the action by entering your password.
1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Start.
2. In the dialog box that appears, confirm your action by selecting the appropriate box and clicking Apply START.
3. Provision your changes. Confirm the action by entering your password.
Result: The Dedicated Core server is booted. A new public IP address is assigned depending on the configuration, and billing is resumed.
1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Reset.
2. (Optional) In the dialog box that appears, connect using the Remote Console and shut down the VM at the operating system level to prevent data loss.
3. Confirm your action by selecting the appropriate box and clicking Apply RESET.
4. Provision your changes. Confirm the action by entering your password.
Result: The Dedicated Core server shuts down and reboots.
1. In the Workspace, select the required Dedicated Core server and use the Inspector pane on the right.
If you want to change multiple VMs, select the data center and change the properties in the Settings tab.
In this tab, you will find an overview of all assets belonging to the selected VDC. You can change cores, RAM, server status, and storage size without having to manually update each VM in the Workspace.
2. Modify storage:
(Optional) Create a snapshot of the system for recovery in the event of problems.
3. In the Workspace, select the required Dedicated Core server and increase the CPU size.
4. Provision your changes. You must set the new size at the operating system level of your VM.
Result: The size of the CPU is adjusted in the DCD.
When you no longer need a particular Dedicated Core server, with or without the associated storage devices, in your cloud infrastructure, you can remove it with a single mouse click or via the keyboard.
To ensure that no processes are interrupted and no data is lost, we recommend you turn off the Dedicated Core server before you delete it.
1. Select the Dedicated Core server in the Workspace.
2. Right-click and open the context menu of the element. Select Delete.
2. You may also select the element icon and press the DEL key.
3. In the dialog box that appears, choose whether you also want to delete storage devices that belong to the server.
4. Provision your changes.
Result: The Dedicated Core server and its storage devices are deleted.
When you delete a Dedicated Core server and its storage devices, or the entire data center, their backups are not deleted automatically. When you delete a Backup Unit, the associated backups are also deleted.
When you no longer need the backups of deleted VMs, delete them manually from the Backup Unit Manager to avoid unnecessary costs.
A user with full root or administrator access rights can create a vCPU Server. A vCPU Server, once provisioned, retains all its settings, such as resources, drive allocation, password, etc., even after a restart at the operating system level. A vCPU Server is deleted from your Virtual Data Center (VDC) only when you delete it from the DCD. For more information, see vCPU Servers.
vCPU Servers offer flexible configurations for RAM and CPUs. You can create a vCPU Server via the DCD or the API.
Prerequisite: Make sure you have the appropriate privileges. Only contract administrators, owners, and users with the Create Data Center privilege can set up a VDC. Other user types have read-only access and cannot provision changes.
To create a new vCPU Server via the DCD, follow these steps:
1. Drag the vCPU Server element from the Palette onto the Workspace.
The created vCPU Server is automatically highlighted in turquoise. The Inspector pane allows you to configure the properties of this individual vCPU instance.
2. In the Inspector pane on the right, configure your vCPU Server in the Settings tab.
Name: Choose a name unique to this VDC.
Availability Zone: The zone where you wish to physically host the vCPU. Choosing A - Auto selects a zone automatically. This setting can be changed after provisioning.
Preset: Select an appropriate configuration from the drop-down list. The values S, M, L, XL, and XXL contain predefined vCPU-to-RAM ratios. You can always override the values to suit your needs and the Preset automatically changes to Custom when you edit the predefined ratio indicating that you are no longer using the predefined ratio.
vCPUs: Specify the number of vCPUs. You may change these after provisioning. The capabilities are limited to your customer contract limits. For more information about the contract resource limits in DCD, see Resource Overview.
RAM: Specify RAM size; you may choose any size between 0.25 GB to 240 GB in steps of 0.25 GB. This setting can be increased after provisioning.
SSH Keys: Select the premade SSH Key. You must first have a key stored in the SSH Key Manager. For more information about how to create and add SSH Keys, see OpenSSH Instructions.
Ad-hoc Key: Copy and paste the public part of your SSH key into this field.
To create a new vCPU Server via the API, specify the following properties
:
Specify a name
for your vCPU Server.
Set type
: VCPU
.
Set the availabilityZone
to AUTO
.
Specify cores
and ram
in MiB
. You can also update the cores
and ram
using a PATCH
request at any time. For more information, see Partially modify servers.
Note: Do not specify the following properties
: templateUuid
and cpuFamily
.
For example, assume that a VDC exists with the following UUID
: aaa-2bbb-3ccc-4ddd-5eee
. Entities like volumes
or NICs
are not included in the following example, but their usage is identical to servers of type ENTERPRISE.
For more information, see CLOUD API (6.0).
Select the respective block to view a sample request and a sample response:
Drag a storage element (HDD or SSD) from the Palette onto a vCPU server in the Workspace to connect them together. The highlighted vCPU will expand with a storage section.
Click the Unnamed HDD Storage to highlight the storage section. Now you can see new options in the Inspector pane on the right.
Note: Storage type cannot be changed after provisioning.
Enter a name that is unique within your VDC.
Select a zone in which you want the storage device to be maintained. When you select A (Auto), our system assigns the optimal Zone. The Availability Zone cannot be changed after provisioning.
Specify the required storage capacity. You can increase the size after provisioning, even while the vCPU Server is running, as long as its operating system supports it. It is not possible to reduce the storage size after provisioning.
You can select one of IONOS images or snapshots, or use your own. Only images and snapshots that you have access to are available for selection. Since provisioning does not require you to specify an image, you can also create empty storage volumes.
Set the root or administrator password for your vCPU according to the guidelines. This is recommended for both operating system types.
Select an SSH key stored in the SSH Key Manager.
Copy and paste the public part of your SSH key into this field.
Select the storage volume from which the vCPU is to boot by clicking on BOOT or Make Boot Device.
Provision your changes. The storage device is now provisioned and configured according to your settings.
When adding a storage element using the Inspector, select the appropriate checkbox in the Add Storage dialog box. If you wish to boot from the network, set this on the vCPU: vCPU in the Workspace > Inspector > Storage.
It is recommended to always use VirtIO to benefit from the full performance of InfiniBand. IDE is intended for troubleshooting if, for instance, the operating system has no VirtIO drivers installed. In this case, Windows usually displays a "blue screen" when booting.
After provisioning, the Live Vertical Scaling properties of the selected image are displayed. You can make changes to these properties later, which will require a reboot. You can set the properties of your uploaded images before you apply them to storage volumes in the Image Manager.
(Optional) Add and configure further storage elements.
(Optional) Make further changes to your data center.
Provision your changes. The storage device is now provisioned and configured according to your settings.
To assign an image and specify a boot device, you need to add and configure a storage element.
Click on CD-ROM to add a CD-ROM drive so that you can use ISO images to install and configure an operating system from scratch.
Set up a network by connecting the vCPU Server to other elements, such as an internet access element or other vCPU Server through their NICs.
Provision your changes.
The vCPU Server is available according to your settings.
At IONOS, we maintain dedicated resources for each customer. Hence, you do not share your physical CPU with other IONOS clients. For this reason, the vCPU Server switched off at the operating system level, still incurs costs.
You can shut down a vCPU Server completely via the DCD and deallocate all its resources to avoid incurring costs. A vCPU Server deallocated this way remains in your infrastructure while the resources are released and can then be redistributed.
Shutting down a vCPU Server at the operating system level alone does not deallocate the resources or suspend the billing. Regardless of how you shut down the vCPU Server, you can restart it only via the DCD.
A reset forces the vCPU Server to shut down and reboot but may result in data loss.
1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Stop.
2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply STOP.
3. Provision your changes. Confirm the action by entering your password.
Result: The vCPU Server stops and billing is suspended.
1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Start.
2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply START.
3. Provision your changes. Confirm the action by entering your password.
Result: The chosen vCPU Server is booted. A new public IP address is assigned to it depending on the configuration and billing is resumed.
1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Reset.
2. (Optional) In the dialog box that appears, connect using the Remote Console and shut down the vCPU Server at the operating system level to prevent data loss.
3. Confirm your action by selecting the appropriate checkbox and clicking Apply RESET.
4. Provision your changes. Confirm the action by entering your password.
Result: The vCPU Server shuts down and reboots.
1. In the Workspace, select the required vCPU Server and use the Inspector pane on the right.
Note: To modify multiple vCPU Servers, select the data center and change the properties in the Settings tab.
In this tab, you will find an overview of all assets belonging to the selected VDC. You can change vCPUs, RAM, vCPU Server status, and storage size without having to manually update each vCPU Server in the Workspace.
2. Modify storage:
(Optional) Create a snapshot of the system for recovery in the event of problems.
3. In the Workspace, select the required vCPU Server and increase the CPU size.
4. Provision your changes. You must set the new size at the operating system level of your vCPU Server.
Result: The size of the CPU is adjusted in the DCD.
When you no longer need a particular vCPU Server, with or without the associated storage devices, in your cloud infrastructure, you can remove it with a single mouse click or via the keyboard.
To ensure that no processes are interrupted, and no data is lost, we recommend you turn off the vCPU Server before you delete it.
Warning: When you delete a vCPU Server, its storage devices, or the entire data center, it is essential to note that the action does not automatically delete their backups. However, deleting a backup unit will delete all associated backups.
When you no longer need the backups of a deleted vCPU Server, delete them manually from the Backup Unit Manager to avoid unnecessary costs.
1. Select the vCPU Server in the Workspace.
2. Right-click and open the context menu of the element. Select Delete Server.
3. You may also select the element icon and press the DEL key.
4. In the dialog box that appears, choose whether you also want to delete storage devices that belong to the vCPU Server.
5. Provision your changes.
Result: The vCPU Server and its storage devices are deleted.
You can enable IPv6 on Dedicated Core servers and vCPU Servers when you create them or after you create them.
You can set up IPv6 to improve the network connectivity for your virtualized environment. By setting up IPv6 for your Dedicated Core servers and vCPU Servers, you can ensure that they are accessible to IPv6-enabled networks and clients.
Prerequisites: Prior to enabling IPv6, make sure you have the appropriate privileges. New VDC can be created by the contract owners, admins, or users with create VDC privilege. The number of bits in the fixed address is the prefix length. For Data Center IPv6 CIDR, the prefix length is /56.
To enable IPv6 for Dedicated Core servers, connect the server to an IPv6-enabled Local Area Network (LAN). Select the Network option on the right pane and fill in the following fields:
Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).
MAC: This field is automatically populated.
LAN: Select an IPv6 enabled LAN.
Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create flow logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create flow logs for all traffic.
Flow Log: Select + to add a new flow log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.
IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the Dedicated Core server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.
IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. Add additional public IP addresses in Add IP. It is an optional field.
To enable IPv6 for vCPU Servers, connect the server to an IPv6-enabled Local Area Network (LAN). Select the Network option on the right pane and fill in the following fields:
Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).
MAC: This field is automatically populated.
LAN: Select an IPv6 enabled LAN.
Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create Flow Logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create Flow Logs for all traffic.
Flow Log: Select + to add a new Flow Log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.
IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the vCPU Server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.
IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. Add additional public IP addresses in Add IP. It is an optional field.
Note:
IPv6 CIDR assigned to LANs(/64) and NICs(/80 and /128) must be unique.
You can create a maximum of 256 IPv6-enabled LANs per VDC.
When creating based on IONOS Linux images, you can insert into your . This lets you access your VM safely and allows for secure communication. SSH keys that you intend to use more often can be saved in the SSH Key Manager.
Note: IONOS Windows images do not support SSH key injection.
Default SSH keys: SSH keys that you intend to use often and mark them as such in the SSH Key Manager. Default SSH keys are preselected when you configure storage devices. You can specify which SSH keys are actually to be used before and deselecting the preselected standard keys in favor of another SSH key.
Ad-hoc SSH keys: SSH keys that you only use once and don't intend to save in the SSH Key Manager for later re-use.
SSH keys can be generated and used on macOS or Linux if both OpenSSH and the ssh-keygen command-line tools are installed. OpenSSH is a collection of tools for establishing SSH connections to remote servers, while ssh-keygen is a utility for generating SSH keys.
Manually generate SSH keys when working with OpenSSH via the Terminal application by following the steps below.
1. Enter the following command below into the Terminal window and press ENTER.
The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.
2. Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa
.
If you have previously generated a key pair, you may see the following prompt below. If you choose to overwrite the key, you will no longer authenticate with the previous key that was generated.
3. Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase). However, we recommend that you use a passphrase.
4. Enter your passphrase once more.
After you confirm the passphrase, the public and private keys are generated and saved in the specified location. Thus, the confirmation will look like this:
The public key is saved to the file id_rsa.pub
which will be the key you upload to your DCD account. Your private key is saved to the id_rsa
file in the .ssh
directory and is used to verify that the public key you use belongs to the same DCD account.
You can copy the public key to your clipboard by running the following command:
In the SSH Key Manager of the DCD, you can save and manage up to 100 public SSH keys for the setup of SSH accesses. This saves you from having to repeatedly copy and paste the public part of an SSH key from an external source.
1. To open the SSH Key Manager, go to Menu > MANAGER resources > SSH Key Manager.
2. In the SSH Key Manager, select + Add Key.
3. Enter a Name and click Add.
4. Copy and paste the public key to the SSH key field. Alternatively, you may upload it via Select key file. Please ensure the SSH keys you enter are valid. The DCD does not validate syntax or format.
5. (Optional) Activate the Default checkbox to have the SSH key automatically pre-selected when SSH access is configured.
6. Click Save to store the key.
The SSH key is stored in the SSH Key Manager and can be used for the configuration of SSH accesses.
To delete an existing SSH key, select the SSH key from the list and click Delete Key.
The SSH key is removed from the SSH Key Manager.
You can connect to your virtual instance via OpenSSH. Still, you will need the terminal application, which varies depending on your operating system. For:
Linux: Search Terminal or press CTRL+ALT+T
macOS: Search Terminal
Windows: Search Bash. If you don’t have Bash installed, use PuTTY instead.
The steps below will show you how to connect to your VM.
1. Open the Terminal application and enter the SSH connection command below. After the @
, add the IP address of your VM instance. Then press ENTER.
Note: When you log in for the first time, the server isn't recognized on your local machine, so you'll be asked if you're sure you want to keep connecting. You can type yes and then press ENTER.
2. Authentication is the next step in the connection process. If you've added the SSH keys, you'll be able to connect to the VM immediately or after entering your key pair's passphrase.
If you haven't already added SSH keys, you'll be asked for your password:
3. Once you’ve entered the password, press ENTER.
If the SSH key is configured correctly, this will log you into VM.
can be generated and used on macOS or Linux if both OpenSSH and the ssh-keygen command-line tools are installed. OpenSSH is a collection of tools for establishing to remote servers, while ssh-keygen is a utility for generating SSH keys.
An SSH key is composed of two files. The first is the private key, which should never be shared. The other is a public key that enables you to access your provisioned Cubes. When you generate the keys, you will use ssh-keygen to store them in a secure location so that you can connect to your instances without encountering the login prompt.
Manually generate SSH keys when working with OpenSSH via the Terminal application by following the steps below.
Enter the following command below into the Terminal window and press ENTER.
The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.
Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa
.
If you have previously generated a key pair, you may see the following prompt below. If you choose to overwrite the key, you will no longer authenticate with the previous key that was generated.
Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase). However, we recommend that you use a passphrase.
Enter your passphrase once more.
After you confirm the passphrase, the public and private keys are generated and saved in the specified location. Thus, the confirmation will look like this:
You can copy the public key to your clipboard by running the following command:
Default keys
Ad-hoc SSH Keys.
Ad-hoc SSH keys, on the other hand, are SSH keys that you only use once and do not intend to save in the SSH Key Manager for future use.
The DCD's SSH Key Manager allows you to save and manage up to 100 public SSH keys for SSH access setup. This saves you from having to copy and paste the public part of an SSH key from an external source multiple times.
Log in to your DCD account after copying the SSH key to the clipboard (Link).
1. Open the SSH Key Manager: Menu > Management > SSH Keys
2. Select the + Add Key in the top left corner.
3. Paste the SSH key from the clipboard into the SSH Key field. If you have saved your SSH Key in a file, you can upload it by selecting the Choose file button in the Select Key file field.
Make sure the SSH keys you enter are valid. The DCD does not validate the syntax or format of the keys.
Optional: Select the Default checkbox to have the SSH key pre-selected when configuring SSH access.
4. Click Save to save the key. The SSH key has now been saved in the SSH Key Manager and is visible in the SSH Key Manager's table of keys.
You can connect to your Cubes instance via OpenSSH. Still, you will need the terminal application, which varies depending on your operating system. For:
Linux: Search Terminal or press CTRL+ALT+T
macOS: Search Terminal
Windows: Search Bash. If you don’t have Bash installed, use PuTTY instead.
The steps below will show you how to connect to your Cubes.
When you log in for the first time, the server isn't recognized on your local machine, so you'll be asked if you're sure you want to keep connecting. You can type yes and then press ENTER.
Authentication is the next step in the connection process. If you've added the SSH keys, you'll be able to connect to the Cubes immediately or after entering your key pair's passphrase.
If you haven't already added SSH keys, you'll be asked for your password:
Nothing is displayed in the terminal when you enter your password, making it easier to paste in the initial password. Pasting into text-based terminals is different from other desktop applications. It is also different from one window manager to another:
For Linux Gnome Terminal, use CTRL+SHIFT+V.
For macOS, use the SHIFT-CMD-V or a middle mouse button.
For Bash on Windows, right-click on the window bar, choose Edit, then Paste. You can also right-click to paste if you enable QuickEdit mode.
Once you’ve entered the password, press ENTER.
is a software package that automates the initialization of during system boot. When you deploy a new Linux server from an , cloud-init gives you the option to set default user data.
User data must be written in shell scripts or cloud-config directives using YAML syntax. You can modify IONOS cloud-init's behavior via user-data. You can pass the user data in various formats to the IONOS cloud-init at launch time. Typically, this happens as a template, a parameter in the CLI, etc. This method is highly compatible across platforms and fully secure.
Compatibility: This service is supported on all public IONOS Cloud Linux distributions. You may submit user data through the or via . Existing cloud-init configurations from other providers are compatible with IONOS Cloud.
Limitations: Cloud-init is available on all public Linux images supplied by IONOS Cloud. If you wish to use your own Linux image, please make sure that it is cloud-init supported first. Otherwise, there is no guarantee that the package will function as intended. Windows images are currently out of scope; adding them may be considered at a later stage.
Provisioning: Cloud-init can only be set at initial provisioning. It cannot be applied to instances that have already been provisioned. Settings cannot be changed once provisioned.
Laptops: When using a laptop, scroll down the properties panel of the block storage volume that you want to create and configure, as additional fields are not immediately visible on a small screen. Clout-Init may only become visible when an supported image has been selected.
The following table demonstrates the use of cloud-config and user-data scripts. However, the cloud-init package supports a variety of formats.
Log in to the DCD with your username and password.
In the Workspace, create a new virtual instance and attach any storage device to it.
Select the storage device and from the Inspector pane associate an Image with it.
To associate a private image, select Own Images from the drop-down list.
To associate a public image, select IONOS Images from the drop-down list. Once you choose an image, additional fields will appear in the Inspector pane.
Enter a Password. It is required for Remote Console access. You may change it later.
(Optional) Upload a new SSH key or use an existing file. SSH Keys can also be injected as user data utilizing cloud-init.
(Optional) Add a specific key to the Ad-hoc SSH Key field.
Select No configuration for Cloud-Init user data and the Cloud-Init User Data window appears.
To complete setup, return to the Inspector pane and click Provision Changes.
Using shell scripts is an easy way to bootstrap a server. The code creates, installs, and configures our CentOS web server in the following example. It also rewrites the default index.html file.
Note: Allow enough time for the instance to launch and run the commands in your script, and later verify if your script has completed the tasks you intended.
The following script is an example of how to create a swap partition with second block storage using a YAML script:
The following script is an example of how to resize your file system according to the chosen size of the block storage. It will also create a user with an SSH key using a cloud-config YAML script:
The cloud-init output log file (/var/log/cloud-init-output.log
) captures console output. Depending on the default configuration for logging, a second log file exists within /var/log/cloud-init.log
. This provides a comprehensive record based on the user data.
The cloud API offers increased convenience if you want to automate the provisioning and configuration of cloud instances. Enter the following details:
Name: Enter the userData.
Type: Enter the type in the form of a string.
Description: The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image
or imageAlias
that has cloud-init compatibility in conjunction with this property.
The following script is an example of how to configure userData using curl:
Dedicated Core Server configurations are subject to the following limits, according to the CPU type:
AMD CPU: Up to 62 cores and 230 GB RAM
Intel® CPU: Up to 51 Intel® cores and 230 GB RAM
Info: A single Intel® physical core with Hyper-Threading Technology is exposed to the operating system of your Dedicated Core Servers as two distinct “logical cores”, which process separate threads.
Warning: Because the size of the working memory (RAM) cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.
We recommend initially setting the RAM size to 8 GB; RAM size can then be scaled as needed after the initial provisioning and configuration.
Minimum: 1 GB
Maximum: 4 TB
Minimum: 1 GB
Maximum: 4 TB
Note: You can scale up the HDD and SSD storage volumes as needed.
IONOS data centers are divided into separate areas called Availability Zones.
You can enhance reliability and set up high-availability scenarios by deploying redundant Dedicated Core Servers and storage devices across multiple Availability Zones.
Select the server in the DCD Workspace
Use Inspector > Properties > Availability Zone menu to change the Availability Zone
Live Vertical Scaling (LVS) technology permits you to scale the number of CPU cores and amount of RAM while the server is running, without having to restart it. Please note that Windows only allows scaling the number of CPU cores, but not the amount of RAM. For scaling to more than eight CPU cores, Windows requires a reboot.
Dedicated Core servers can be restarted at the operating system level (using the reboot command, for instance). You can also use the DCD reset function, which functions similarly to a physical server's reset button.
You should use the DCD to shut down your server completely. Your VM will then be marked as "shut down" in the DCD. Shutting down a VM at the operating system level alone does not deallocate its resources or suspend the billing.
You can delete a Dedicated Core server from the DCD Workspace by right-clicking on it and selecting Delete Server from the list, or by selecting the server and pressing the Del
key on your keyboard.
Try to connect to your VM using the Remote Console to see if it is up and running. If you have trouble logging on to your VM, please provide our support team with screenshots of error messages and prompts from the Remote Console.
Windows users: Please send us a screenshot of the Task Manager.
Linux users: Please send us the output of uptime
and top
.
For IONOS-provided images, you can set the passwords before provisioning.
Newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images, because the RAM size cannot be processed during the initial configuration.
An error is displayed according to the server version; for example, Windows Server 2012 R2 displays the following message:
"Windows could not finish configuring the system. To attempt to resume configuration, restart the computer."
We recommend initially setting the RAM size to 8 GB, and rescaling it as needed after the initial provisioning and configuration is complete.
The choice of CPU architecture primarily depends on your workload and performance requirements. Intel® processors are oftentimes more powerful than AMD processors. Intel® processors are designed for compute-intensive applications and workloads where the benefits of hyperthreading and multitasking can be fully exploited. Intel® cores cost twice as much as AMD cores. Therefore, it is recommended that you measure and compare the actual performance of both CPU architectures against your workload. You can change the CPU type in the DCD or use the API, and see for yourself whether Intel® processors deliver significant performance gains or more economical AMD cores still meet your requirements.
IONOS is the only cloud computing provider with the unique "Core Technology Choice" feature that can flexibly change the processor architecture per virtual instance.
When the cursor disappears after logging on to the Remote Console, you can reconnect to the server using the appropriate menu entry.
vCPU Server configurations are subject to the following limits:
Up to 120 cores and 512 GB RAM
A CPU Family of a vCPU server cannot be chosen at the time of creation and cannot be changed later.
Note: A single Intel® physical core with Hyper-Threading Technology is exposed to the operating system of your vCPU Server as two distinct “logical cores”, which process separate threads.
Warning: Because the size of the working memory (RAM) cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.
We recommend initially setting the RAM size to 8 GB; RAM size can then be scaled as needed after the initial provisioning and configuration.
Minimum: 1 GB
Maximum: 4 TB
Minimum: 1 GB
Maximum: 4 TB
Note: You can scale up the HDD and SSD storage volumes as needed.
IONOS data centers are divided into separate areas called Availability Zones.
You can enhance reliability and set up high-availability scenarios by deploying redundant vCPU Servers and storage devices across multiple Availability Zones.
Select the vCPU Server in the DCD Workspace.
Navigate to the Inspector pane > Properties > Availability Zone menu to change the Availability Zone.
Live Vertical Scaling (LVS) technology permits you to scale the number of CPU cores and amount of RAM while the server is running, without having to restart it. Please note that Windows only allows scaling the number of CPU cores, but not the amount of RAM. For scaling to more than eight CPU cores, Windows requires a reboot.
Servers can be restarted at the operating system level (using the reboot command, for instance). You can also use the DCD reset function, which functions similarly to a physical server's reset button.
You should use the DCD to shut down your server completely. Your VM will then be marked as "shut down" in the DCD. Shutting down a VM at the operating system level alone does not deallocate its resources or suspend the billing.
You can delete a server from the DCD Workspace by right-clicking on it and selecting Delete Server from the list, or by selecting the server and pressing the Del
key on your keyboard.
Try to connect to your VM using the Remote Console to see if it is up and running. If you have trouble logging on to your VM, please provide our support team with screenshots of error messages and prompts from the Remote Console.
Windows users: Please send us a screenshot of the Task Manager.
Linux users: Please send us the output of uptime
and top
.
For IONOS-provided images, you can set the passwords before provisioning.
Newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images, because the RAM size cannot be processed during the initial configuration.
An error is displayed according to the server version; for example, Windows Server 2012 R2 displays the following message:
"Windows could not finish configuring the system. To attempt to resume configuration, restart the computer."
We recommend initially setting the RAM size to 8 GB, and rescaling it as needed after the initial provisioning and configuration is complete.
A CPU Family of a vCPU server cannot be chosen at the time of creation and cannot be changed later.
When the cursor disappears after logging on to the Remote Console, you can reconnect to the server using the appropriate menu entry.
The device monitors VM/OS crashes. PVPanic is a simulated device, through which a guest panic event is sent to the hypervisor, and a QMP event is generated.
No, the PVPanic device is plug-and-play. However, installing drivers may require a restart.
This is no cause for concern. First of all, you do not need to reboot the VM. However, you will need to reinstall the appropriate drivers (which are provided by IONOS Cloud).
There are no issues found when enabling pvpanic. However, users cannot choose whether or not to enable the device; it is always available for use.
Something else to consider - PVPanic does not offer bidirectional communication between the VM and the hypervisor. Instead, the communication only goes from the VM towards the hypervisor.
There are no special requirements or limitations to any components of a virtualized server. Therefore, PVPanic is completely compatible with AMD and Intel processors.
The PVPanic device is implemented as an ISA device (using IOPORT).
Check the kernel config CONFIG_PVPANIC
parameter.
For example:
m = PVPanic device is available as module y = PVPanic device is native available in the kernel n = PVPanic device is not available
When the device is not available (CONFIG_PVPANIC=n
), use another kernel or image.
For your virtual machines running Microsoft Windows, we provide an ISO image that includes all the relevant drivers for your instance. Just log into DCD, open your chosen virtual data center, add a CD-ROM drive and insert the driver ISO as shown below (this can also be done via CloudAPI).
Note: A reboot is mandatory to add the CD drive.
Once provisioning is complete, you can log into your OS by adding drivers for the unknown device through the Device Manager. Just enter devmgmt.msc
in the Windows search bar, console, or PowerShell to open it.
Since this is a Plug & Play driver, there is no need to reboot the machine.
The public key is saved to the fileid_rsa.pub
which will be the key you upload to your account. Your private key is saved to the id_rsa
file in the .ssh
directory and is used to verify that the public key you use belongs to the same DCD account.
In addition to the SSH Keys stored in the , the IONOS Cloud Cubes SSH key concept includes:
Default keys are SSH keys that you intend to use frequently and have marked as such in the SSH Key Manager. When you configure storage devices, the are pre-selected. You can, however, specify which SSH keys are to be used before provisioning and deselect the preselected standard keys in favor of another SSH key.
Open the Terminal application and enter the SSH connection command below. After the @
, add the of your Cubes instance. Then press ENTER.
If the SSH key is configured correctly, this will log you into the .
Enter your User Data either using a bash script or a cloud-config file with a YAML syntax. For sample scripts, see , , and .
Result: At boot, Cloud-Init executes automatically and applies the specified changes. The DCD returns a message when is complete, indicating that the infrastructure is virtually ready. However, bootstrapping, which includes the execution of cloud-init data, may require additional time. The message that DCD returns does not mention the additional time required for execution. We recommend allowing extra time for task completion before testing.
To test if the cloud-init bootstrapped your successfully, you can open the corresponding in your browser. You will be greeted with a “Hello World” message from your web server.
You can also bootstrap cloud-init images using cloud-config directives. The cloud-init website outlines all the supported and provides of basic directives.
Cloud-init is configured on the volume resource for cloud API V6 or later versions. For more information, see .
See also:
See also:
Steal time in a refers to instances when the hypervisor, responsible for managing VMs and hardware, temporarily reallocates a portion of CPU cycles from dedicated cores to perform essential tasks like storage replication and firewall enforcement. While VMs may perceive this as "stolen processing time," it typically has a low impact on performance, especially with Dedicated Core servers. The IONOS Cloud platform prioritizes efficient resource management to ensure your VMs run smoothly.
See also:
See also:
See also:
See also:
See also:
See also:
See also:
See also:
Base64
If the user data is base64 encoded, cloud-init verifies whether the decoded data is one of the supported types. It decodes and handles the decoded data appropriately if it comprehends it. If not, the base64 data is returned unaltered.
User-Data Script
Begins with #!
or Content-Type: text/x-shellscript
. The script is run by /etc/init.d/cloud-init-user-scripts
during the first boot cycle. This occurs late in the boot process after the initial configuration actions are performed.
Include File
Begins with #include
or Content-Type: text/x-include-url
. The include
file is the content. It contains a collection of URLs, one in each line. Each URL is read, and its content passes through the same set of rules. The content read from the URL can be MIME-multi-part or plaintext.
Cloud Config data
Begins with #cloud-config
or Content-Type: text/cloud-config
. For a commented example of supported configuration formats, see the examples.
Upstart Job
Begins with #upstart-job
or Content-Type: text/upstart-job
. This content is stored within a file in /etc/init
, and upstart uses the content similar to other upstart jobs.
Cloud Boothook
Begins with #cloud-boothook
or Content-Type: text/cloud-boothook
. The boothook
data is the content, which is stored in a file within /var/lib/cloud
and executed immediately. This becomes the earliest hook
and does not have any mechanism for executing it only one time. The must be handled by the boothook itself. It is provided with the instance ID in the environment variable INSTANCE_ID
. Use this variable to provide a once-per-instance set of boothook data.
Note: Starting July 29th, creating new VMs with AMD Opteron CPUs will no longer be possible. Existing VMs can continue to run and will be unaffected by this change. They can also undergo normal power cycles without impacting functionality.
Configuration check:
Ensure that the cpu_family
parameter in your Terraform configuration file (*.tf
) is not set to AMD_OPTERON
.
The cpu_family
parameter is optional, but if it is set to AMD_OPTERON
, it must be updated or removed to avoid errors. For more information about the available options, see Data centers.
Provisioning:
Before provisioning new VMs, verify that the Terraform configuration file (*.tf
) is updated appropriately.
Run terraform plan
to confirm the configuration is correct.
Provision the VM using terraform apply
.
Configuration check:
If the specification file has the cpuFamily
set to AMD_OPTERON
, it should be updated to avoid errors.
Failure to update the cpuFamily
parameter will result in an error when managing VMs.
Verification:
Check your specification files for the cpuFamily
parameter.
Update the parameter from AMD_OPTERON
to the appropriate value according to your needs.
These limitations apply when you try to create new VMs:
You cannot select AMD Opteron as the CPU architecture for New VMs.
You cannot switch a running or deallocated VM's CPU family to AMD Opteron.
For further assistance or questions, contact IONOS Cloud Support.
IONOS VM Auto Scaling is a cloud computing feature that modifies the number of Virtual Machine (VM) instances in your Virtual Data Center (VDC) automatically based on changes in demand (or the load on your VM).
Note: VM Auto Scaling is currently in the Early Access (EA) phase. We recommend keeping usage and testing to non-production critical applications. For more information, please contact your sales representative or customer support. EA rollout has its limitations. For more information, see limitations.
VM Auto Scaling automatically adds new VM instances when the load increases and reduces the number of instances when the load decreases. This automatic behavior constantly monitors the load and regularly scales the number of VM instances based on the policy threshold. The functionality ensures that the number of replicas in the group remains within the defined limitations.
To configure the feature, create a VM Auto Scaling Group with the following settings:
A group-wide scaling policy based on metrics.
Server replica configuration to automatically add or remove VMs based on demand.
VM Auto Scaling generates or deletes replicas based on the scaling policy, as needed by your application. The metric-based scaling policy tracks the CPU usage or the incoming and outgoing network packets, based on the configuration. When the existing VM instances hit the given threshold, it automatically initiates scaling, either scale in or scale out. Scaling in and scaling out is also called horizontal scaling because it adds additional VMs of the same size but does not increase the size of individual VMs by adding new cores or storage.
Additionally, you can replicate the configuration, such as the CPU architecture, number of cores, network, and group volumes.
VM Auto Scaling interfaces with other IONOS Cloud services, such as the Application Load Balancer (ALB), to maximize resource utilization, improve application scalability, and high-availability of multiple application servers due to server redundancy. You can specify how VM Auto Scaling replicas should be included in the ALB. When enabled, your application automatically scales based on requests from various sources. For example, if you pair VM Auto Scaling with an ALB and your application includes a web service, VM Auto Scaling ensures that your application has enough VM instances to process all requests.
VM Auto Scaling is cost-efficient and improves resource utilization. You pay only for the resources needed to run your application without any additional costs.
You can access and configure VM Auto Scaling via the Data Center Designer (DCD), Cloud API, and the SDK. To start using VM Auto Scaling, see Overview.
Get an overview of VM Auto Scaling.
Get started with VM Auto Scaling via the API.
Get started with VM Auto Scaling via the DCD.
Configure a VM Auto Scaling group and define group-wide policies for scaling.
Modify the group name and scaling policies.
Delete an existing VM Auto Scaling group.
View the servers associated with the group.
View the list of scaling operations.
To get answers to the most commonly encountered questions about VM Auto Scaling in DCD, see VM Auto Scaling FAQs.
VM Auto Scaling Groups are a collection of virtual servers that automatically scale the number of VM replicas based on the metrics.
Note:
This process is limited to contract owners, administrators, and users with access rights to the data center hosting the VM Auto Scaling Group.
Configuration of a VM Auto Scaling Group triggers the creation of two monitoring alarms for scale in and scale out operations according to the policy settings.
Prerequisites:
When provisioning a VM Auto Scaling Group, ensure that the necessary resources are available and that they are within the configured resource limits of your contract. To check the contract resource limits in DCD, see Resource Overview.
IONOS recommends that you enable CloudInit or use existing images.
Follow these steps to configure a VM Auto Scaling , and define thresholds and scaling policies:
1. Log in to DCD with your username and password.
2. Go to Menu > Management > VM Auto Scaling.
3. Click Create to create a group and define replicas. The Create VM Auto Scaling Group window displays the Configuration and the Replica Configuration tabs.
4. Define the following in the Configuration tab:
5. Configure replicas. For more information, see Configure replicas.
Important: The application applies a default replica setup if you do not configure replicas. Hence, we recommend that you configure replicas before you click Create. It is also mandatory, as the ALB uses the IP addresses of the NICs linked to the VM instances. Provisioning the replica defaults does not configure a network, thus, the associated ALB is left without NICs or IP addresses.
6. Click Create to save the configuration.
Result: Your VM Auto Scaling Group is successfully configured. You can now manage it via the VM Auto Scaling Manager.
You can specify a name for your VM Auto Scaling Group and the minimum number and the maximum number of VM instances it can contain during scaling. The minimum number ensures that you never run out of VM instances and the group always has at least one VM instance. The feature cannot provide more than the maximum number of VM instances during a scale out operation.
To create a VM Auto Scaling Group, go to the Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Name: Enter a name for the VM Auto Scaling Group.
Data Center: Select a data center from the drop-down list. You can either select an existing Virtual Data Center (VDC) or create a new one if required. The application lists all the VDCs in your DCD. The group is valid only within the selected VDC to which it belongs.
Minimum Count: Enter the minimum number of VMs the group must scale to. The minimum replica count is one. VM Auto Scaling uses this as a reference value to stop deleting VM instances for a group. This is necessary to ensure that scaling does not reduce the VM instances beyond the specified count.
Maximum Count: Enter the maximum number of VMs the group must scale to. VM Auto Scaling uses this as a reference value to stop adding new VM instances for a group. This is necessary to ensure that scaling does not increase beyond the specified count. To improve the efficiency of the VM Auto Scaling service, we recommend limiting the maximum number of VMs in an Auto Scaling Group to 100 or less.
A Policy defines the rules to trigger VM Auto Scaling to analyze the resource utilization rate at regular intervals. You can only define one metric policy per group that triggers the scaling process.
To define policies, go to the Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Metric: Select a metric from the drop-down list whose performance must be monitored. The pre-defined values are based on the CPU utilization average or network bytes for incoming and outgoing bytes or packets.
Scale In Threshold: Enter a value to specify when VM Auto Scaling must trigger the scale in operation. The value specified here indicates the percentage of the CPU utilization rate or the network packets or network bytes, based on which the scale in action is triggered for the metric. For example, if you specify the CPU utilization rate as 30, VM Auto Scaling automatically begins scaling inwards and deletes the additional VM instances when the CPU utilization rate is 30%.
Scale Out Threshold: Enter a value to specify when VM Auto Scaling must trigger the scale out operation. The value specified here indicates the percentage of the CPU utilization rate or the network packets or bytes based on which the scale-out action is triggered for the metric. For example, if you specify the value as 70, the application automatically begins scaling outwards and adds additional VM instances when the CPU utilization rate reaches 70%.
Note: Ensure that the Scale In Threshold and the Scale Out Threshold field values differ by 40%. For example, if you set the Scale In Threshold to 15%, Scale Out Threshold cannot contain a value lesser than 55%.
Range: Enter a time range in hours, minutes, or seconds. Example: 1h, 3m, 120s. It is the period during which VM Auto Scaling measures the percentage of chosen metric utilization at regular intervals and automatically scales in or scales out based on the demand. If specifying in seconds, ensure that the value is not less than 120 seconds.
Unit: Select a unit from the drop-down list. You can specify whether the scaling process should be initiated every hour, minute, or second for other predefined metrics. This is automatically set to Total for an instance CPU utilization average metric.
Scale in defines the action triggered during a scale in operation. Based on the values defined, the feature automatically deletes the specified number of VM instances after the cooldown period.
To define scale in policies, go to the Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Amount Type: Select a value from the drop-down list to define the number of replicas that must be deleted. You can choose either Percentage or Absolute.
Amount: Enter the number of VM instances to be deleted during a scale in operation. The minimum value is one. Scale in jobs with a large number of VMs may encounter performance issues. Hence, we recommend limiting the deletion of VMs to at most five, regardless of whether the Amount Type is absolute or percentage.
Cooldown Period: Enter the cooldown period to indicate the interval between each auto scaling action in the group. The cooldown period can be measured in minutes, seconds, or hours. For example, when the value is set to 5m, the scale in action is activated every 5 minutes. VM Auto Scaling automatically deletes the given number of VM instances when the resource consumption is lower.
Note:
Only one scaling action remains in progress for a VM Auto Scaling Group. The metric is reevaluated after the current scaling action completes.
The minimum value is two minutes, and the maximum value is 24 hours.
If specifying in seconds, ensure the minimum value is not less than 120 seconds.
The application considers the default value of five when a period is not specified.
Termination Policy: Select a value from the drop-down list to choose whether the oldest or the most recent replica must be deleted first. Choosing the Oldest replica first delegates the scaling process to delete the oldest replicas. Otherwise, choose the Youngest replica first to begin scaling by deleting the most recent replica.
Delete attached volumes: Select a value from the drop-down list to indicate if the attached volumes must be deleted. Choose Don’t delete to retain the attached volumes; otherwise, choose Delete.
Scale out defines the action triggered during a scale out operation. The feature automatically adds the specified number of VM instances after the cooldown period based on the demand.
To define scaling out policies, go to the Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Amount Type: Select a value from the drop-down list to define the number of replicas added when the metric utilization exceeds the specified amount. You can choose either Percentage or Absolute.
Amount: Enter a number to indicate the number of VM instances that must be added. The minimum value is one. Scale out jobs with a large number of VMs may encounter performance issues. Hence, we recommend limiting the addition of VMs to at most five, regardless of whether the Amount Type is absolute or percentage.
Cooldown Period: Enter the cooldown period to indicate the interval between each auto scaling process in the group. The cooldown period can be measured in minutes, seconds, or hours. For example, when the value is set to 5m, the scale out process is activated every 5 minutes. VM Auto Scaling automatically adds the given number of VM instances when the resource consumption is higher. The notes mentioned in scale in policies are also applicable to scale out policies.
VM Auto Scaling allows you to automatically scale the number of VM instances horizontally based on the configured policy. This functionality ensures that you have enough VM instances to handle the application loads. It improves efficiency by ensuring that adequate instances are available during peak workloads and saves money by limiting the number of instances available during low workload periods.
This section covers the components of VM Auto Scaling, its features, benefits, and limitations.
The following components are an integral part of VM Auto Scaling:
Auto Scaling group: A collection of VM instances that the VM Auto Scaling manages. VM Auto Scaling automatically adds or removes instances from the group based on the metrics defined for the consumption of resources in the scaling policy.
Scaling policy: Defines how VM Auto Scaling Group scales an instance group based on various parameters such as CPU usage, incoming or outgoing requests, or load balancing utilization. Users can define custom scaling policies and set the desired scaling parameters for the instance group.
VM replica configuration: Defines the properties of the new VM replicas created during the scaling process. The configuration includes the parameters such as CPU type, number of cores, RAM size, network, and volumes.
VM Auto Scaling Manager: Create a VM Auto Scaling Group, define scaling policies, and replicate settings for creating VM instances.
VM Auto Scaling provides the following features:
Automatic Scaling automatically adds or removes VM instances based on the need. It analyzes the resource consumption continuously and scales up the allotted resources when necessary to ensure that the application is always responsive and performing optimally.
Customizable scaling policies allow users to define custom scaling policies based on various parameters, such as CPU usage or network utilization and set the desired scaling parameters for the Auto Scaling group.
Multiple granular scaling policies allow you to specify the number of instance creations when the scaling threshold is reached. Users may choose a policy that best suits their workload requirements.
Integration with other IONOS Cloud services, such as the ALB, enables users to optimize resource utilization and improve application scalability.
VM Auto Scaling provides the following benefits:
Improved resource utilization enables you to allocate resources as needed, thus, improving resource utilization and cost efficiency.
Improved application performance ensures the application is always responsive and performing optimally, thus providing a better user experience.
Improved scalability allows you to scale the application easily and quickly, supporting business growth and increasing revenue.
Reduced operational overhead automates the scaling process, reducing the operational overhead of managing and maintaining VM instances.
This section lists the limitations of VM Auto Scaling:
It is best suited for a gradual increase in demand. The feature uses cooldown timers to scale resources gradually rather than abruptly. As a result, if you anticipate a sudden rise in traffic, we recommend manually adding VMs ahead of time. For example, you could add new VMs before traffic spikes after a TV commercial.
The capabilities are limited to your customer contract limits. For more information about the contract resource limits in DCD, see Resource Overview.
Updating the replica configuration does not affect the existing replicas; however, the changes are only visible when you create new replicas.
To improve the efficiency of the VM Auto Scaling service, we recommend limiting the maximum number of VMs in an Auto Scaling Group to 100 or less. Note that the minimum replica count is one.
Scale in or scale out jobs with a large number of VMs may encounter performance issues. Hence, we recommend limiting the creation or deletion of VMs to at most five, regardless of whether the Amount Type is absolute or percentage.
In the Replica Configuration tab, you can configure the size, networks, and storage volumes for the VM instances that VM Auto Scaling creates. You may also use the CloudInit mechanism to configure VM instances.
You can configure the following on the Replica Configuration tab:
Note:
Certain limitations listed on this page apply during the EA deployment and are subject to change as the product evolves.
During the EA phase, it is possible to delete replicas manually. Manual deletion of replicas does not remove the IP address of the replica from the Targets list (Management > Target Groups > select a Target Group and click Targets); ensure that you remove them manually from the Targets list before you delete the associated replica.
To configure VM replica settings, follow these steps:
Go to the Replica Configuration tab in the Create VM Auto Scaling Group window and configure the Settings, Network, and Volumes tabs.
Click Clone Settings and Volumes from the drop-down list to clone the CPU Architecture, Cores, and RAM automatically from your VMs in the VDC. You can also use the slider to configure them manually.
You can configure the network connection between a VM instance and a virtual network using a Network Interface Card (NIC). You can create a NIC instantly by clicking +Add and associating it with a Local Area Network (LAN). VDC automatically creates an IP address for the associated NIC. By associating a NIC with a LAN, you define the networking features for the respective VM Auto Scaling Group. If you have already defined NICs, select one from the drop-down list.
Name: Enter a name for the NIC.
DHCP: Select the checkbox to provision IP addresses for your VM instances.
Note: During the EA phase, we recommend using the DHCP feature from IONOS to advertise the assigned IPs to the network; otherwise, detection within the ALB may not work as expected.
LAN: Enter the LAN ID to be used for accessing the VM instances on the network.
Firewall active: Select the checkbox to activate the firewall. By default, an active firewall without defined rules blocks all incoming network traffic except for the rules that explicitly allow specific protocols, IP addresses, and ports.
Firewall Type: Select Ingress, Egress, or Bidirectional to choose firewall rules for the type of queries that will be allowed on the NIC. By default, Ingress is used if you do not specify a value.
Firewall Rules: Click Manage Rules to allow managing requests from external networks. When configured, all firewall rules defined for the specified NIC are listed.
Flow Logs: Select a flow log from the drop-down list to log all network packets. The list of all flow logs for the specified NIC is displayed. You can instantly create a new flow log, if necessary.
Note: During the EA phase, Flow Logs are not supported. If you apply a configuration, the creation of VM Auto Scaling Groups will fail.
Associate an ALB. You can also associate an ALB after configuring replicas.
VM Auto Scaling creates VM instances based on the specified storage volumes during scaling.
Name: Enter a name for the storage volume.
Boot device: Select a value from the drop-down list to use the corresponding volume as a boot volume. You can select one of these values:
Choose Auto to allow VDC to delegate the provisioning engine to select the boot volume automatically.
Choose Primary to set the configured volume as a boot volume.
Choose None if you do not want to configure a boot volume.
Note: You can either set one volume to Primary or set all volumes to Auto.
Bus: Select a driver from the drop-down list. The predefined values are VIRTIO and IDE.
Storage Type: Select either HDD, SSD Premium or SSD Standard from the drop-down list to configure the type of storage. IONOS provides three different types of disks and you can choose to attach either of these to the VM Auto Scaling Group.
Size in GB: Specify the size of the selected storage type.
Image: Select either an Image or an Image Alias from the drop-down list to associate it with a VM Auto Scaling Group. A Password is mandatory to configure either of these. You can also associate the following with the storage volume:
SSH keys: Select the checkbox to use the SSH keys to validate the request and create an encrypted connection for communication.
Cloud-Init User Data: Click No configuration to specify the user data (Cloud-Init) for this replica volume.
Backup Unit: Select a backup unit from the drop-down list, if already configured. Otherwise, you can create one instantly. Backups of VM instances are stored in the associated backup unit regularly.
Important: The VM Auto Scaling feature creates replicas based on the configuration. Changes to the existing configuration will only apply to new replicas but not the instances that are already running. Hence, we recommend that you configure Settings, Network, and Volumes before clicking Create to avoid any discrepancies later.
Click Create to configure your VM Auto Scaling Group.
Result: Your VM Auto Scaling Group is successfully configured and can be managed via the VM Auto Scaling Manager.
An Application Load Balancer (ALB) from the VDC can be associated with the replica configuration. As a result, a replica can be linked to multiple target groups if a target group contains several NICs. This way an ALB ensures that the load is equally distributed among the replicas.
When you associate an ALB with a replica configuration, the ALB can use all of the VM replicas created by the VM Auto Scaling feature, which means your application can scale and receive requests from different queries based on the configured ALB.
To associate an ALB with a replica configuration, go to the Replica Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Target Group: Select a value from the drop-down list. You can also click Create new Target Group from the drop-down list to instantly create a new target group. When you specify a target group, the scaling process associates replicas with the target groups. The ALB checks these target groups to verify the available IP addresses to process requests.
Note: You cannot delete a target group if it is associated with the replica of the VM AutoScaling group and in use. We recommend deleting the AutoScaling group first before deleting the target group.
Port: Select a value from the drop-down list to decide the port on which the queries must be redirected. It is recommended to set the port to TCP port 80. This port is used by the ALB to distribute traffic to individual replicas.
Weight: The traffic is distributed proportionally to the target weight, which is the ratio of the total weight of all targets. A target with a higher weight receives a larger share of traffic. The valid range is from 1 to 256. We recommend using values in the middle range to leave room for later adjustments.
Note:
If you have not already configured an ALB, log in to the DCD with your username and password, drag-and-drop the Application Load Balancer from the Palette on the left side of the screen into your VDC to start configuring it. For more information about connecting your target group to an ALB, see Create Target Groups.
It is mandatory to define at least one network before you configure an ALB, so you can associate an ALB with the group after configuring replicas.
You can configure VM Auto Scaling via DCD. This feature combines granular configurable options wherein you can create a group and define when the feature must scale in or scale out based on demand. You must also specify the minimum (for scale out) and the maximum (for scale in) number of replicas a group can contain for the replicas to stay within the given threshold.
Configure replicas after configuring thresholds and policies, where you define the settings, network, and storage volumes for the replicas created by the feature. After you define the network, you may add an Application Load Balancer (ALB) to the group.
After successfully creating a group, you can modify its details, delete it, and view its associated servers and list of jobs.
The following links redirect you to the relevant pages.
Configure a VM Auto Scaling group and define group-wide policies for scaling.
Configure storage size, networks, and storage volumes for the VM instances. You can also associate an with the group.
Modify the group name and scaling policies.
Delete an existing VM Auto Scaling group.
View the servers associated with the group.
View the list of scaling operations.
The scale in and scale out operations performed by the VM Auto Scaling feature are displayed in a chronological order.
To view the list of operations and their statuses, follow these steps:
Log in to DCD with your username and password.
Go to Menu > Management > VM Auto Scaling.
Click on the corresponding VM Auto Scaling Group to view its status. The application displays the following information:
The Status of a job indicates whether it is completed successfully, in progress, or failed.
An Action indicates if the feature scaled in (deleted) or scaled out (added) VM instances.
The Timestamp provides the date and time when the process began.
The VM Auto Scaling Manager displays the list of all servers associated with the selected VM Auto Scaling Group. Each server is given a unique identification string as its name automatically.
Note: The unique identification string is a name and not a server ID. Hence, it cannot be used to retrieve information over the API.
To view the associated servers, follow these steps:
Log in to DCD with your username and password.
Go to Menu > Management > VM Auto Scaling.
Click Servers to view one of these:
click Console to open the remote console to access your VM.
clicking Focus Server opens the VDC and preselects the server automatically.
VM Auto Scaling is a managed service designed to launch or terminate VM instances horizontally to ensure you have the appropriate number of instances available to handle the load on your application.
You can optimize cost by reducing the number of VMs needed to run in parallel while ensuring your setup does not run into resource limitations.
One of your scaling policies was met. For example, when CPU utilization exceeds the defined threshold, you may check the Auto Scaling logs to see why a scaling action was triggered.
It is a defined group of VMs created from the same image template by the VM Auto Scaling feature.
When you delete the VM instances, all the underlying VMs will be deleted.
The tab contains information about the scaling operations that the feature initiates. You can view a list of actions triggered by the feature, its status, and when the process started.
If not explicitly configured differently, VM Auto Scaling deletes the oldest VM in your Auto Scaling group first when a scale in action is triggered. Thus changes will be propagated naturally through your group of VMs.
When your VM Auto Scaling Group qualifies for a scale in action according to the metrics you set, the oldest running VM in your group will be stopped. You repeat this process until all VMs are updated.
Currently, VM Auto Scaling only supports horizontal scaling. This means that the feature creates more VMs to support your workload based on the replica configuration of the appropriate group.
Note: The VM Auto Scaling feature does not handle VMs that are not part of a VM Auto Scaling Group. You will need to manually update them.
You can choose if the volumes must be retained when a VM is scaled in. Remember that choosing to retain the volumes during scale in process accumulates data over time.
You can combine VM Auto Scaling with an ALB to spread the load evenly across your VMs. You may also use CloudInit to configure your VMs during bootup based on the workload.
A Cross Connect is a feasible alternative to connect replicas on two different subnets. Hence, groups with replicas connected to these subnets will be connected via Cross Connect. Moreover, ensure that you make the necessary configurations as you would for VMs to communicate with one another. The approach is similar to physically connecting two subnets using a network cable.
Yes, the replicas (or VM instances) created as part of the scaling process function in the same way as the IONOS Cloud VMs configured in the VDC. For example, you can configure it with an ALB, Network Load Balancer, NAT Gateway, Managed Kubernetes clusters, and MongoDB clusters.
Deletion of a VM Auto Scaling Group results in the deletion of all the VMs associated with the respective group.
To delete a group, follow these steps:
Log in to DCD with your username and password.
Go to Menu > Management > VM Auto Scaling.
Click Delete to delete the selected group.
Select the checkbox to confirm deletion.
Enter your Password to proceed with the deletion process.
Select the Skip password verification for the next 60 minutes checkbox if you want to avoid specifiying your password for any operation during the next 60 minutes.
Click OK.
Result: The application deletes the selected VM Auto Scaling Group and the associated VMs, if any.
After successfully configuring your VM Auto Scaling Groups, you can modify scaling thresholds and scaling policies, update replica configuration or associate an ALB via the VM Auto Scaling Manager.
To modify the values, follow these steps:
Log in to DCD with your username and password.
Go to Menu > Management > VM Auto Scaling.
Click on the respective group to modify its values.
You can modify the following:
click to update the name of the group, modify scaling thresholds and policies.
Note: You cannot modify a DCD after it is associated with the group.
click to update storage settings, NICs and associated ALBs, or storage volumes.
click to view the servers that are associated with the group.
click to view the list of tasks.
Click Save to save the changes.
Result: The corresponding VM Auto Scaling Group is successfully modified.
Managed Kubernetes provides a platform to automate the deployment, scaling, and management of containerized applications. With IONOS Cloud Managed Kubernetes, you can quickly set up Kubernetes clusters and manage Node Pools.
It offers a wide range of features for containerized applications without having to handle the underlying infrastructure details. It is a convenient solution for users who want to leverage the power of Kubernetes without dealing with the operational challenges of managing the cluster themselves.
Note: Starting August 14, 2024, Kubernetes version 1.27 will end its life. All clusters on version 1.27 will be automatically updated to 1.28 (the last available patch version).
Note: Starting July 17, 2024, you may encounter an error when running the terraform plan
. This error will indicate a change in the cpu_family
attribute from AMD_OPTERON
to a “new CPU type”. For more information, see .
To get answers to the most commonly encountered questions about Managed Kubernetes, see .
Configure storage size, networks, and storage volumes for the VM instances. You can also associate an with the group.
Although the feature now allows horizontal scaling, you can manually modify the replica configuration of a group. For example, you can increase the resources associated with your VMs, such as CPU cores or the size of the RAM. This notion is identical to vertical scaling (scaling up). After you save the configuration, the replicas created as part of the subsequent scale-out process contain the updated configuration. As mentioned , for this change to propagate to all your VMs, the scaling in policy must be explicitly configured to delete the oldest replicas.
Learn how to set up a cluster.
Learn how to create a node pool using the DCD.
Learn how to manage user groups for node pools.
In IONOS Managed Kubernetes, a Public Node Pool provides a foundation for hosting applications and services that require external accessibility over the internet. These node pools consist of worker nodes that are exposed to the public network, enabling them to interact with external clients and services.
You can create Kubernetes clusters for Public Node Pools using the Configuration Management Tools or directly using the IONOS Cloud API.
The key features related to Public Node Pools include:
External Accessibility: Public Node Pools are designed to host workloads that need to be accessed from outside the Kubernetes cluster. This can include web applications, APIs, and other services that require internet connectivity.
Load Balancing: Load balancers are used with IONOS Public Node Pools to distribute incoming traffic across multiple nodes. This helps to achieve high availability, scalability, and efficient resource utilization.
Security: The Implementation of proper network policies, firewall rules, and user groups helps IONOS Public Node Pools mitigate potential risks and help in the protection of sensitive data.
Scaling: The ability to dynamically scale the number of nodes in a Public Node Pool is crucial for handling varying levels of incoming traffic. This scalability ensures optimal performance during peak usage periods.
Public Cloud Integration: Public Node Pools seamlessly integrate with IONOS Cloud services.
Monitoring and Logging: Robust monitoring and logging solutions are essential for tracking the performance and health of applications hosted in Public Node Pools. This includes metrics related to traffic, resource utilization, and potential security incidents.
In IONOS Managed Kubernetes, a Private Node Pool is a dedicated set of nodes within a Kubernetes cluster that is isolated for the exclusive use of a specific user, application, or organization. Private node pools of a cluster are deployed in a private network behind a NAT Gateway to enable connectivity from the nodes to the public internet but not vice-versa.
You can create Kubernetes clusters for Private Node Pools using the Configuration Management Tools or directly using the IONOS Cloud API. By using IONOS Kubernetes clusters for Private Node Pools, you can ensure the network traffic between your nodes and Kubernetes service stays on your private network only.
The key features related to Private Node Pools include:
Customized Configurations: The ability to customize networking configurations and define subnets provides flexibility to align the infrastructure with user-specific requirements.
Isolation of Resources: Private Node Pools provide isolation of resources that improves the performance and reduces the risk of interference from external entities. The isolation of resources within a dedicated, private network environment.
Security: The additional layer of security added by Private Node Pools ensures that nodes are only accessible within a private network. This helps in protecting sensitive data and applications from external threats.
Scalability: The Private Node Pools are designed to be flexible and scalable based on your needs. This ensures that the resources are utilized efficiently, and you can adapt to varying levels of demand.
It is desirable to extend CoreDNS with additional configuration to make changes that survive control plane maintenance. It is possible to create a ConfigMap in the kube-system
namespace. The ConfigMap must be named coredns-additional-conf
and contain a data entry with the key extra.conf
. The value of the entry must be a string containing the additional configuration.
The following example shows how to add a custom DNS entry for example.abc
:
Managed Kubernetes can be utilized to address the specific needs of its users. Here, you can find a list of common use cases and scenarios. Each use case is described in detail to highlight its relevance and benefits.
You can use the Load Balancer to provide a stable and reliable IP address for your Kubernetes cluster. It will expose your application, such as Nginx deployment, to the internet. This IP address should remain stable as long as the service exists.
Define type
as LoadBalancer
to create a service of type Load Balancer. When this service is created, most cloud providers will automatically provision a Load Balancer with a stable external IP address. Configure the ports
that the service will listen on and forward the traffic to. Define the selector
field to set the Pods to which the traffic will be forwarded.
Note:
Ensure that your Cloud provider supports the automatic creation of external Load Balancers for Kubernetes services.
You need at least two remaining free CRIPs for regular maintenance.
You need to replace the Nginx
related labels and selectors with those relevant to your application.
The horizontal scaling of ingress network traffic over multiple Kubernetes nodes involves adjusting the number of running instances of your application to handle varying levels of load. This helps preserve the original client IP address forwarded by the Kubernetes ingress controller in the X-Forwarded-For HTTP header.
The Ingress NGINX Controller will be installed via Helm using a separate configuration file.
The following example contains a complete configuration file, including parameters and values to customize the installation:
The illustration shows the high-level architecture built using IONOS Managed Kubernetes.
The current implementation of the service of type LoadBalancer does not deploy a true load balancer in front of the Kubernetes cluster. Instead, it allocates a static IP address and assigns it to one of the Kubernetes nodes as an additional IP address. This node is, therefore, acting as an ingress node and takes over the role of a load balancer. If the pod of the service is not running on the ingress node, kube-proxy will NAT the traffic to the correct node.
Problem: The NAT operation will replace the original client IP address with an internal node IP address.
Any individual Kubernetes node provides a throughput of up to 2 Gbit/s on the public interface. Scaling beyond that can be achieved by scaling the number of nodes horizontally. Additionally, the service LB IP address must also be distributed horizontally across those nodes. This type of architecture relies on Domain Name System (DNS) load balancing, as all LB IP addresses are added to the DNS record. During name resolution, the client will decide which IP address to connect to.
When using an ingress controller inside a Kubernetes cluster, web services will usually not be exposed as type LoadBalancer, but as type NodePort instead. The ingress controller is the component that will accept client traffic and distribute it inside the cluster. Therefore, usually only the ingress controller service is exposed as type LoadBalancer.
To scale traffic across multiple nodes, multiple LB IP addresses are required, which are then distributed across the available ingress nodes. This can be achieved by creating as many (dummy) services as nodes and IP addresses are required. It is best practice to reserve these IP addresses outside of Kubernetes in the IP Manager so that they are not unassigned when the service is deleted.
Let’s assume that our web service demands a throughput of close to 5 Gbit/s. Distributing this across 2 Gbit/s interfaces would require 3 nodes. Each of these nodes requires its own LB IP address, so in addition to the ingress controller service, one needs to deploy 2 additional (dummy) services.
To spread each IP address to a dedicated node, use a node label to assign the LB IP address to: node-role.kubernetes.io/ingress=<service_name>
Note: You can always set labels and annotations via the DCD, API, Terraform, or other DevOps tools.
To pin a LB IP address to a dedicated node, follow these steps:
Reserve an IP address in the IP Manager.
Create a node pool of only one node.
Apply the following label to the node:
node-role.kubernetes.io/ingress=<service_name>
Add the following node selector annotation to the service:
annotations.cloud.ionos.com/node-selector: node-role.kubernetes.io/ingress=<service_name>
In the case of our example, reserve 3 IP addresses in the IP Manager. Add these 3 IP addresses to the DNS A-record of your fully qualified domain name. Then, create 3 node pools, each containing only one node, and apply a different ingress node-role label to each node pool. We will call these 3 nodes as ingress nodes.
The first service will be the ingress NGINX controller service. Add the above-mentioned service annotation to it:
controller.service.annotations.cloud.ionos.com/node-selector: node-role.kubernetes.io/ingress=<service_name>
Also, add the static IP address (provided by the IP Manager) to the configuration:
controller.service.loadBalancerIP: <LB_IP_address>
Similarly, 2 additional (dummy) services of type LoadBalancer must be added to spread traffic across 3 nodes. These 2 services must point to the same ingress-nginx deployment, therefore the same ports and selectors of the standard ingress-nginx service are used.
Note:
Make sure to add your specific LB IP address to the manifest.
Notice the service is using the service specific node selector label as annotation.
This spreads 3 IP addresses across 3 different nodes.
To avoid packets being forwarded using Network Address Translation (NAT) to different nodes (thereby lowering performance and losing the original client IP address), each node containing the LB IP address must also run an ingress controller pod. (This could be implemented by using a daemonSet, but this would waste resources on nodes that are not actually acting as ingress nodes.) First of all, as many replicas of the ingress controller as ingress nodes must be created (in our case 3): controller.replicaCount: 3
Then, the Pods must be deployed only on those ingress nodes. This is accomplished by using another node label. For example, node-role.kubernetes.io/ingress-node=nginx
. The name and value can be set to any desired string. All 3 nodes must have the same label associated. The ingress controller must now be configured to use this nodeSelector:
controller.nodeSelector.node-role.kubernetes.io/ingress-node: nginx
This limits the nodes on which the Ingress Controller Pods are placed.
For the Ingress Controller Pods to spread across all nodes equally (one pod on each node), a pod antiAffinity must be configured:
To force Kubernetes to forward traffic only to Pods running on the local node, the externalTrafficPolicy needs to be set to local. This will also guarantee the preservation of the original client IP address. This needs to be configured for the Ingress-NGINX service (controller.service.externalTrafficPolicy: Local) and for the 2 dummy services (see full-service example above).
The actual helm command via which the Ingress-NGINX Controller is deployed is as follows:
helm install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace -f values.yaml
To verify the setup, ensure that:
DNS load balancing works correctly.
Fully Qualified Domain Name (FQDN) DNS lookup yields three IP addresses.
The Whoami web application can be deployed using the following manifests:
Note: Ensure that both Whoami Pods are running, the service is created, and the Ingress returns an external IP address and a hostname.
A curl with the below-mentioned flags to the hostname will show which Load Balancer IP address is used. You need to use the same curl command multiple times to verify connection to all 3 LB IP addresses is possible.
The response from the whoami application will also return the client IP address in the X-Forwarded-For HTTP header. Verify that it is your local public IP address.
Managed Kubernetes facilitates the fully automated setup of Kubernetes clusters. Using Managed Kubernetes, several clusters can be quickly and easily deployed. For example, you can use it on the go to set up staging environments and then delete them if required. Managed Kubernetes simplifies and supports the automation of Continuous Integration and Continuous Delivery/Continuous Deployment (CI/CD) pipelines that help in testing and deployment.
IONOS Managed Kubernetes offers the following:
Automatic updates and security fixes.
Version and upgrade provisioning.
Highly available and geo-redundant control plane.
Full cluster administrator level access to Kubernetes API.
Both Public and Private Node Pools support the same Kubernetes versions.
Note:
You can explore the available releases for Kubernetes. For more information, see Release History.
You can visit the changelog to explore the information related to your Kubernetes version. For more information, see Changelog.
The architecture of Managed Kubernetes includes the following main components that collectively provide a streamlined and efficient environment for deploying, managing, and scaling containerized applications.
Control Plane: The control plane runs several key components, including the API server, scheduler, and controller manager. It is responsible for managing the cluster and its components, coordinates the scheduling and deployment of applications, monitors the health of the cluster, and enforces desired state management.
Cluster: A cluster is a group of computing resources that are connected and managed as a single entity. It is the foundation of the Kubernetes platform and provides the environment for deploying, running, and managing containerized applications. Clusters can span multiple node pools that may be provisioned in different virtual data centers and across locations. For example, you can create a cluster consisting of multiple node pools where each pool is in a different location and achieve geo-redundancy. Each cluster consists of a control plane and a set of worker nodes.
Node: A single (physical or virtual) machine in a cluster is part of the larger Kubernetes ecosystem. Each node is responsible for running containers, which are the encapsulated application units in Kubernetes. These nodes work together to manage and run containerized applications.
Node Pool: A node pool is a group of nodes within a cluster with the same configuration. Nodes are the compute resources where applications run. All Kubernetes worker nodes are organized in node pools. All nodes within a node pool are identical in setup. The nodes of a pool are provisioned into virtual data centers at a location of your choice, and you can freely specify the properties of all the nodes at once before creation.
kubectl
: The command-line tool for interacting with Kubernetes clusters that serves as a powerful and versatile interface for managing and deploying applications on Kubernetes. With kubectl
, you can perform various operations such as creating, updating, and deleting resources in a Kubernetes cluster.
Kubeconfig
: The kubeconfig
file is a configuration file used by the Kubernetes command-line tool (kubectl
) to authenticate and access a Kubernetes cluster. It contains information about the cluster, user credentials, and other settings.
etcd: etcd is a distributed key-value store that is used as the primary data store for Kubernetes. It is responsible for storing the configuration data that represents the state of the cluster. This includes information about nodes in the cluster, configurations, and the current status of various resources.
The illustration shows the key components of the Managed Kubernetes.
Kubernetes is organized in clusters and node pools. The node pools are created in the context of a cluster. The servers belonging to the node pool are provisioned into the Virtual Data Center (VDC). All servers within a node pool are identical in their configuration.
Nodes, also known as worker nodes, are the servers in your data center that are managed by Kubernetes and constitute your node pools. All Resources managed by Kubernetes in your data centers will be displayed by the DCD as read-only.
You can see, inspect, and position the managed resources as per your requirements. However, the specifications of the resources are locked for manual interactions to avoid undesirable results. To modify the managed resources, use the Kubernetes Manager. You can manage the following resource types based on your deployed pods and configurations:
Servers
The Inspector for Managed Resources allows easy navigation between the data centers, clusters, and node pools in the Kubernetes Manager. Here, you can:
Switch to the Kubernetes Manager and show the respective node pool.
Download the kubeconfig
to access the cluster.
List all nodes in the data center belonging to the same node pool.
All operations related to the infrastructure of clusters can be performed using the Kubernetes Manager, including cluster and node creation and scaling of node pools. The status of a cluster is indicated by different statuses.
The status is transitional, and the cluster is temporarily locked for modifications.
The status is unavailable, and the cluster is locked for modifications.
The status is in progress. Modifications to the cluster are in progress, the cluster is temporarily locked for modifications.
The status is active, and the cluster is available and running.
All operations related to the infrastructure of node pools can be performed using the Kubernetes Manager. The status of a node pool is indicated by different statuses.
The status is transitional, and the node pool is temporarily locked for modifications.
The status is unavailable. The node pool is unavailable and locked for modifications.
The status is in progress. Modifications to the node pool are in progress. The node pool is locked for modifications.
The status is active. The node pool is available and running.
Prerequisite: Only contract administrators, owners, and users with Create Kubernetes Clusters permission can create a cluster. Other user types have read-only access.
Learn how to set user privileges using the DCD.
Learn how to set up and create a cluster.
Learn how to generate and download the yaml file.
Learn how to update a cluster for node pools using the DCD.
Learn how to delete a cluster from the node pools using the DCD.
Learn how to create a node pool using the DCD.
Learn how to update a node pool using the DCD.
Learn how to delete a node pool using the DCD.
Learn how to manage user groups for node pools.
Learn how to mount a Network File Storage (NFS) volume in your cluster.
Managed Kubernetes has a group privilege called Create Kubernetes Clusters. The privilege must be enabled for a group so that the group members inherit this privilege through group privilege settings.
Once the privilege is granted, contract users can create, update, and delete Kubernetes clusters using Managed Kubernetes.
Prerequisite: Make sure you have one or more Groups in the User Manager. To create one, see .
To set user privileges to create Kubernetes clusters, follow these steps:
In the DCD, open Management > Users & Groups under Users.
Select the Groups tab in the User Manager window.
Select the target group name from the Groups list.
Select the Create Kubernetes Clusters checkbox in the Privileges tab.
Result: The Create Kubernetes Clusters privilege is granted to all the members in the selected group.
You can revoke a user's Create Kubernetes Clusters privilege by removing the user from all the groups that have this privilege enabled.
Warning: You can revoke a user from this privilege by disabling Create Kubernetes Clusters for every group the user belongs to. In this case, all the members in the respective groups would also be revoked from this privilege.
To revoke this privilege from a contract administrator, disable the administrator option on the user account. On performing this action, the contract administrator gets the role of a contract user and the privileges that were set up for the user before being an administrator will then be in effect.
You can optimize the compute resources, such as CPU and RAM, along with storage volumes in Kubernetes through strategic usage of zones.To enhance the performance of your Kubernetes environment, consider implementing a strategic approach for resource allocation. You can intelligently distribute workloads across different zones to improve performance and enhance fault tolerance and resilience.
Define a storage class named ionos-enterprise-ssd-zone-1
, which specifies the provisioning of SSD-type storage with ext4
file system format, located in availability zone ZONE_2
. Configure the volumeBindingMode
and allowVolumeExpansion
fields.
Note: Supported values for fstype
are ext2
, ext3
or ext4
.
This implementation provides a robust and reliable Kubernetes infrastructure for your applications.
Some applications require a Kubernetes service of type LoadBalancer
, which preserves the source IP address of incoming packets. Example: . You can manually integrate a Network Load Balancer (NLB) by exposing and attaching a public IP address to a viable Kubernetes node. This node serves as a load balancer using kube-proxy.
Note:
This works fine with services that use externalTrafficPolicy: Cluster
, but in this case, the client's source IP address is lost.
The public IP address that is used as the Load Balancer IP address also needs to be bound to those nodes on which the ingress controller is running.
To preserve the client source IP address, Kubernetes services with externalTrafficPolicy: Local
need to be used. This configuration ensures that packets reaching a node are only forwarded to Pods that run on the same node, preserving the client source IP address. Therefore, the load balancer IP address of the service needs to be attached to the same node running the ingress controller pod.
This can be achieved with different strategies. One approach is to use a to ensure that a pod is running on each node. However, this approach is feasible only in some cases, and if a cluster has a lot of nodes, then using could lead to a waste of resources.
For an efficient setup, you can schedule Pods to be run only on nodes of a specific node pool using . The node pool needs to have labels that can be used in the node selector. To ensure that the service's load balancer IP is also attached to one of these nodes, annotate the service with cloud.ionos.com/node-selector: key=value
, where the key and value are the labels of the node pool.
The following example shows how to install the as a DaemonSet with node selector and to configure the controller service with the required annotation.
Create a node pool with a label nodepool=ingress
:
Create a values.yaml
file for later use in the helm command with the following content:
Install ingress-nginx via helm using the following command:
Prerequisite: Only contract administrators, owners, and users with Create Kubernetes Clusters permission can create a cluster for Public and Private Node Pools. Other user types have read-only access.
You can create a cluster using the Kubernetes Manager in for Public Node Pools.
Note:
A total of 500 node pools per cluster are supported.
It is not possible to switch the Node pool type from public to private and vice versa.
In the DCD, go to Containers > Managed Kubernetes.
Select + Create Cluster.
Enter a Name for the cluster.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select the Kubernetes Version you want to run in the cluster from the drop-down list.
Select a Region from the drop-down list.
In the Node pool type field, choose Public from the drop-down list.
Click + Create Cluster.
Result: A cluster is successfully created and listed in the clusters list for Public Node Pools. The cluster can be modified and populated with node pools once its status is active.
Note:
When defining a private node pool, you need to provide a data center in the same location as the cluster for which you create the node pool.
A total of 500 node pools per cluster are supported.
It is not possible to switch the Node pool type from private to public and vice versa.
To create a cluster for Private Node Pools in Kubernetes Manager, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select + Create Cluster.
Enter a Name for the cluster.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select the Kubernetes Version you want to run in the cluster from the drop-down list.
In the Node pool type field, choose Private from the drop-down list.
Select a Region from the drop-down list.
(Optional) Define a Subnet for the private LAN. This has to be an address of a prefix length /16 in the Classless Inter-Domain Routing (CIDR) block.
Note:
The subnet value cannot intersect with the cluster's networks for pods and services. For clusters created with:
Kubernetes version 1.30 and above, the networks are 100.96.0.0/12
and 100.64.0.0/18
.
Older Kubernetes versions, the networks are 10.208.0.0/12
and 10.233.0.0/18
.
Once provisioned, the Region, Gateway IP, and Subnet values cannot be changed.
Click + Create Cluster.
Result: A cluster is successfully created and listed in the clusters list for Private Node Pools.
Note:
To access the Kubernetes API provided by the cluster, download the kubeconfig
file and use it with tools such as kubectl
.
The maintenance window starts at the time of your choosing and remains open for another four hours. All planned maintenance work will be performed within this window, however, not necessarily at the beginning.
The release schedule outlines the timeline for Kubernetes versions, updates, availability, and the deployment of new features within the Managed Kubernetes environment. It also provides an estimated release and End of Life (EOL) schedule.
The Managed Kubernetes release schedule provides the following information:
Kubernetes Version: This refers to a specific release of the Kubernetes, which includes updates, enhancements, and bug fixes.
Kubernetes Release Date: The date when a specific version of the Kubernetes software is released, making it available for users to download and deploy.
Availability Date: This is an estimate of the version release of the new feature that becomes accessible or ready for use.
Kubernetes End of Life (EOL): The date when a specific version or release of Kubernetes reaches the end of its official support and maintenance period, after which it no longer receives updates, security patches, or bug fixes from the Kubernetes community or its maintainers. These versions may still be available in the Managed Kubernetes product but will soon be removed from the available versions.
End of Life (EOL): The point in time when the Managed Kubernetes product reaches the end of its official support period, after which it will no longer receive updates, patches, or technical assistance.
You can create a cluster using the Kubernetes Manager in for Private Node Pools. For this cluster, you have to provide a Gateway IP. It is the IP address assigned to the deployed Network Address Translation (NAT) Gateway. The IP address must be reserved in the Management > IP Management.
Note: You can only create the cluster for Private Node Pools in the in the same region as the cluster.
Select a reserved IP address from the drop-down list in Gateway IP. To do this, you need to reserve an IPv4 address assigned by IONOS Cloud. For more information, see .
Kubernetes Version
Kubernetes Release Date
Availability Date
Kubernetes End of Life (EOL)
End of Life (EOL)
April 17, 2024
July 8, 2024
June 28, 2025
TBD
December 13, 2023
April 23, 2024
February 28, 2025
TBD
August 11, 2023
October 18, 2023
October 28, 2024
TBD
April 09, 2023
August 08, 2023
June 28, 2024
August 14, 2024
The following steps guide you through the process of connecting Network File Storage (NFS) with Persistent Volume Claims (PVCs) in a Managed Kubernetes cluster.
Note: Network File Storage (NFS) Kubernetes integration is currently available on a request basis. To access this product, please contact your sales representative or IONOS Cloud Support.
Prerequisites:
Ensure that the NFS volume and the Managed Kubernetes node pool are connected to the same private LAN.
Node pools can only retrieve their IPs in the private LAN via Dynamic Host Configuration Protocol (DHCP). Each private LAN has its own subnet distributed by the DHCP server.
The subnet of a private LAN becomes visible via the API when attaching a server to the LAN with a NIC, or by opening a node shell on the Kubernetes Cluster and inspecting the network interfaces.
To connect NFS with PVCs in a Managed Kubernetes cluster via the DCD (Data Center Designer), follow these steps:
Drag a vCPU Server
into the workspace to add a new server in the DCD.
Click Add NIC. This action creates a new Network Inteface Controller (NIC) with a new private LAN. Note the LAN number.
Click PROVISION CHANGES.
Once the changes are provisioned, inspect the server’s NIC to see its primary IP in the private LAN. For example, 10.7.228.11
. This reveals the private LAN’s DHCP subnet. For example, 10.7.228.0/24
.
Provision a Kubernetes Cluster.
Provision a node pool for the Kubernetes Cluster and attach the previously created private LAN. Ensure that DHCP is enabled.
Provision an NFS Cluster with the same private LAN Attached.
Assign a static IP to the NFS cluster within the same subnet identified earlier. For example, 10.7.228.5/24
.
Provision an NFS Share. For more information, see Create Shares.
Add the 10.7.228.0/24
subnet and a client group to establish the necessary permissions for Kubernetes and any other hosts within that subnet to access NFS.
Delete the vCPU Server
created in the first step.
Choose one of the following NFS provisioners:
Both provisioners create a custom StorageClass
configured with an NFS server. Use the static IP assigned earlier, for example, 10.7.228.5
, as the server and /SHARE_UUID/SHARE_NAME
as the share path.
Managed Kubernetes requires a specific setting for the StorageClass
because PersistentVolumes need a specific mount setting. Apply the following command:
Refer to the nfs-subdir-external-provisioner documentation for detailed instructions.
When creating PVCs, specify the custom StorageClass
name. The PVCs should then get provisioned using the specified provisioner.
Install the helm chart for csi-driver-nfs
:
Create a StorageClass
with the necessary parameters:
Create a PVC:
Result: The Managed Kubernetes cluster can now mount NFS volumes as PVCs.
Existing Kubernetes node pools using AMD Opteron CPUs will be migrated to a “new CPU type” during scheduled maintenance windows.
Note: Starting July 17, 2024, you may encounter an error when running the terraform plan
. This error will indicate a change in the cpu_family
attribute from AMD_OPTERON
to a “new CPU type”.
Run terraform plan -refresh-only
to identify any remote changes related to your Kubernetes node pool configuration.
Check the plan output to confirm the change in the cpu_family
attribute.
Update your Terraform configuration file (*.tf
) to reflect the new CPU type. Ensure the cpu_family
parameter aligns with the migrated node pool configuration.
Note:
If allow_replace=true
, the existing node pool will be deleted and recreated with the new CPU type. This action may result in data loss.
To prevent data loss, set allow_replace=false
in your Terraform configuration and manually update the Terraform configuration file (*.tf
) with the new cpu_family
parameter. You can set allow_replace
back to true after this operation.
When creating new Kubernetes node pools, ensure that the cpu_family
parameter does not specify AMD_OPTERON
. Instead, set the value to the available cpuFamily
in your desired location.
Crossplane ignores the cpuFamily
parameter during reconciliation for existing Kubernetes node pools. Clients can modify this parameter in the specification file without impacting the operational state of the node pool.
When defining new Kubernetes node pools, ensure that the cpuFamily
parameter in the specification file does not specify AMD_OPTERON
. Failure to update this parameter may result in configuration errors during provisioning.
If you need to update the cpuFamily
parameter for existing node pools, make the necessary changes in your Crossplane specification files as required.
Ensure the cpuFamily
parameter is set appropriately to align with the current CPU offerings during the creation of new Kubernetes node pools.
For further assistance or questions, contact IONOS Cloud Support.
Prerequisite: You need administrative privileges to create and assign user privileges by using the Cloud API.
To set user privileges using the Cloud API for creating clusters, follow these steps:
Authenticate to the Cloud API using your API credentials.
Create a user using the POST /cloudapi/v6/um/users
endpoint.
Set the following required parameters for the user: user's name
, email address
, and password
.
Create a group using the POST /cloudapi/v6/um/groups
endpoint.
Set createK8sCluster privilege to true
.
Assign the user to the created group using POST /cloudapi/v6/um/groups/{groupId}/users
endpoint and provide the user ID in the header.
Result: The Create Kubernetes Clusters privilege is granted to the user.
You can update a cluster for Public and Private Node Pools with the Kubernetes Manager in DCD.
To update a cluster, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select a cluster from the list and go to the Cluster Settings tab.
(Optional) Update the Cluster name, or you can continue with the existing cluster name.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select the Version number of Kubernetes you want to run on the cluster from the drop-down list.
Select a preferred Maintenance day for maintenance from the drop-down list.
Select a preferred Maintenance time (UTC) for your maintenance window from the menu. Necessary maintenance for Managed Kubernetes will be performed accordingly.
Click Update Cluster to save your changes.
Result: The cluster for your Public Node Pools is successfully updated.
To update a cluster, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select a cluster from the list and go to the Cluster Settings tab.
(Optional) Update the Cluster name, or you can continue with the existing cluster name.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select the Version number of Kubernetes you want to run on the cluster from the drop-down list.
Select a preferred Maintenance day for maintenance from the drop-down list.
Select a preferred Maintenance time (UTC) for your maintenance window from the menu. Necessary maintenance for Managed Kubernetes will be performed accordingly.
(Optional) Add a S3 Bucket to the Logging to S3 drop-down list to Enable logging to bucket. You can also disable logging to S3 for your Kubernetes cluster.
(Optional) Add the individual IP address or CIDRs that need access to the control plane in the Restrict Access by IP field using the + Add IP drop-down menu. Select Allow IP to control the access to the KubeAPI server of your cluster. Only requests from the defined IPs or networks are allowed.
Click Update Cluster to save your changes.
Note: Once provisioned, you cannot update the Subnet and Gateway IP values.
Result: The cluster for your Private Node Pools is successfully updated.
Prerequisite: Only contract owners, administrators, and users having Create Kubernetes Clusters permission can create node pools. Other user types have read-only access.
You can create a cluster using the Kubernetes Manager in DCD for Public Node Pools.
In the DCD, go to Containers > Managed Kubernetes.
Select a cluster from the list and go to the Node pools in Cluster tab.
Select + Create node pool.
In Create Kubernetes node pool, configure your node pools.
In Pool Settings, provide the following information:
Pool Name: Enter a name that aligns with the Kubernetes naming convention.
Data Center: Select an option from the drop-down list. Your node pool will be included in the selected data center. If you do not have a data center, you must first create one.
Node pool version: Select an appropriate version from the drop-down list.
Node count: Select the number of nodes in the node count.
Autoscale: Select the checkbox to enable autoscale and provide a minimum and maximum number of the total nodes.
Attached private LANs: Select + and choose a private LAN from the drop-down list.
Reserved IPs: Select + and choose a reserved IP address from the drop-down list.
In the Node Pool Template, provide the following information:
CPU: Select an option from the drop-down list.
Cores: Select the number of cores.
RAM: Select the size of your RAM.
Availability Zone: Select a zone from the drop-down list.
Storage Type: Select a type of storage from the drop-down list.
Storage Size: Select the storage size for your storage.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select Create node pool.
Result: A node pool is successfully created and can be used once it reaches the active state.
When a node fails or becomes unresponsive you can rebuild that node. This will create a new node with an identical configuration that will replace the failed node.
Prerequisite: Make sure your node is active.
Select a cluster from the list and go to the Node pools in Cluster tab.
Select the node pool that contains the failed node.
Select Rebuild.
Confirm your selection by selecting OK.
Result:
Managed Kubernetes starts a process that is based on the Node Template. The template creates and configures a new node. Once the status is updated to ACTIVE, then it migrates all the pods from the faulty node to the new node.
The faulty node is deleted once it is empty.
While this operation occurs, the node pool will have an extra billable active node.
The node pool is successfully rebuilt.
You can create a cluster using the Kubernetes Manager in DCD for Private Node Pools.
In the DCD, go to Containers > Managed Kubernetes.
Select a cluster from the list and go to the Node pools in Cluster tab.
Select + Create node pool.
In Create Kubernetes node pool, configure your node pools.
In Pool Settings, provide the following information:
Pool Name: Enter a name that aligns with the Kubernetes naming convention.
Data Center: Select an option from the drop-down list. Your node pool will be included in the selected data center. If you do not have a data center, you must first create one.
Node pool version: Select an appropriate version from the drop-down list.
Node count: Select the number of nodes in the node count.
Autoscale: Select the checkbox to enable autoscale and provide a minimum and maximum number of the total nodes.
Attached private LANs: Select + and choose a private LAN from the drop-down list.
Reserved IPs: Select + and choose a reserved IP address from the drop-down list.
In the Node Pool Template, provide the following information:
CPU: Select an option from the drop-down list.
Cores: Select the number of cores.
RAM: Select the size of your RAM.
Availability Zone: Select a zone from the drop-down list.
Storage Type: Select a type of storage from the drop-down list.
Storage Size: Select the storage size for your storage.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select Create node pool.
Result: A node pool is successfully created and can be used once it reaches the Active state.
When a node fails or becomes unresponsive, you can rebuild that node. This will create a new node with an identical configuration that will replace the failed node.
Prerequisite: Make sure your node is active.
Select a cluster from the list and go to the Node pools in Cluster tab.
Select the node pool that contains the failed node.
Select Rebuild.
Confirm your selection by selecting OK.
Result:
Managed Kubernetes starts a process that is based on the Node Template. The template creates and configures a new node. Once the status is updated to ACTIVE, then it migrates all the pods from the faulty node to the new node.
The faulty node is deleted once it is empty.
While this operation occurs, the node pool will have an extra billable active node.
The node pool is successfully rebuilt.
Avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
You can delete node pools with the Kubernetes Manager in DCD.
To delete a node pool, follow these steps:
Select a cluster from the list and go to the Node pools in Cluster tab.
Select a node pool from the list you want to delete.
Select Delete.
Result: Managed Kubernetes will remove the resources from the target data center and the node pool is successfully deleted.
To delete a node pool, follow these steps:
Select a cluster from the list and go to the Node pools in Cluster tab.
Select a node pool from the list you want to delete.
Select Delete.
Result: Managed Kubernetes will remove the resources from the target data center and the node pool is successfully deleted.
Note: Avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
You can delete a cluster for Public and Private Node Pools with the Kubernetes Manager in DCD.
Prerequisites:
Make sure you have the appropriate permissions and access to the chosen cluster.
The chosen cluster should be active.
Delete all the existing node pools associated with the chosen cluster.
To delete a cluster for Public Node Pools, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select a cluster you want to delete from the clusters list.
Click Delete.
Confirm your action by clicking OK.
Result: The cluster is successfully deleted from your clusters list for Public Node Pools.
To delete a cluster for Private Node Pools, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select a cluster you want to delete from the clusters list.
Click Delete.
Confirm your action by clicking OK.
Result: The cluster is successfully deleted from your clusters list for Private Node Pools.
You can update Public and Private Node Pools with the Kubernetes Manager in DCD.
To update a node pool, follow these steps:
Select a cluster from the list and go to the Node pools in Cluster tab.
Select the Kubernetes Version you want to run in the cluster from the drop-down list.
Select the number of nodes in the Node Count.
Select the checkbox to enable Autoscale and provide a minimum and maximum number of the total nodes.
Select + next to the Labels field. Provide a Name and Value for your label.
Select + next to the Annotations field. Provide a Name and Value for your annotation.
Select + next to the Reserved IPs field and choose an IP address from the drop-down list.
Select + next to the Attached private LANs field and choose a private LAN from the drop-down list.
Select the Maintenance day and Maintenance time (UTC) for your maintenance window. The necessary maintenance for Managed Kubernetes will be performed accordingly.
Select Update node pool.
Managed Kubernetes will start to align the resources in the target data center. In case you have selected a new version for Kubernetes, the operation may take a while, and the node pool will be available for further changes once it reaches the Active state.
Result: A node pool is successfully updated.
To update a node pool, follow these steps:
Select a cluster from the list and go to the Node pools in Cluster tab.
Select the Kubernetes Version you want to run in the cluster from the drop-down list.
Select the number of nodes in the Node Count.
Select the checkbox to enable Autoscale and provide a minimum and maximum number of the total nodes.
Select + next to the Labels field. Provide a Name and Value for your label.
Select + next to the Annotations field. Provide a Name and Value for your annotation.
Select + next to the Reserved IPs field and choose an IP address from the drop-down list.
Select + next to the Attached private LANs field and choose a private LAN from the drop-down list.
Select the Maintenance day and Maintenance time (UTC) for your maintenance window. The necessary maintenance for Managed Kubernetes will be performed accordingly.
Select Update node pool.
Managed Kubernetes will start to align the resources in the target data center. In case you have selected a new version for Kubernetes, the operation may take a while, and the node pool will be available for further changes once it reaches the Active state.
Result: A node pool is successfully updated.
Note:
Avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
The maintenance window starts at the time of your choice and remains open for the next four hours. All planned maintenance work will be performed within this window, but not necessarily at the beginning.
All Kubernetes API instructions can be found in the main Cloud API specification file.
To access the Kubernetes API, which the cluster provides, you can download the kubeconfig
file and use it with tools such as kubectl
.
GET
https://api.ionos.com/cloudapi/v6/k8s/{k8sClusterId}/kubeconfig
Retrieve a configuration file for the specified Kubernetes cluster, in YAML or JSON format as defined in the Accept header; the default Accept header is application/yaml.
k8sClusterId*
String
The unique ID of the Kubernetes cluster.
depth
String
Controls the detail depth of the response objects.
X-Contract-Number
Integer
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
You can add user groups and assign permissions for Public and Private Node Pools with the Kubernetes Manager in DCD.
In the clusters for Public Node Pools, nodes only have external IP addresses, which means that the nodes and pods are exposed to the internet.
To set up the security settings, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
In Kubernetes Manager, select a cluster.
Go to the Security tab and click Visible to Groups.
To enable access, select the Edit or Share checkbox for a group.
Note: To disable access, select the group for which you want to disable access. Clear either the Edit or Share checkboxes. You can also directly click Remove Group.
Result: The cluster for Public Node Pools now has the newly assigned permissions.
In the clusters for Private Node Pools, nodes only have internal IP addresses, which means that the nodes and pods are isolated from the internet. Internal IP addresses for nodes come from the primary IP address range of the subnet you choose for the cluster.
To set up the security settings, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
In Kubernetes Manager, select a cluster.
Go to the Security tab and click Visible to Groups.
To enable access, select the Edit or Share checkbox for a group.
Note: To disable access, select the group you want to disable the access for. Clear either the Edit or Share checkboxes. You can also directly click Remove Group.
Result: The cluster for Private Node Pools now has the newly assigned permissions.
A kubeconfig
file is used to configure access to Kubernetes.
You can download the kubeconfig
file:
You can download the kubeconfig
file using configuration management tools such as IonosCTL CLI, Ansible, and Terraform. Following are a few options to retrieve the kubeconfig
files.
K8s Cluster Id
k8s_cluster config_file
filename
Note: If you do not want to use any tools like IonosCTL CLI, Ansible, or Terraform, you can retrieve the kubeconfig
file directly from the Get Kubernetes Configuration File API using tools like cURL
or Wget
.
In the DCD, go to Menu > Containers > Managed Kubernetes.
In Kubernetes Manager, select a cluster from the cluster list.
In the Cluster Settings tab, select either kubeconfig.yaml or kubeconfig.json from the drop-down list to download the kubeconfig
file.
Alternatively, you can also select the Kubernetes element in the Workspace and download the kubeconfig
file in the Inspector pane.
Result: The kubeconfig
file is successfully downloaded.
You can download the kubeconfig
file:
You can download the kubeconfig
file using configuration management tools such as IonosCTL CLI, Ansible, and Terraform. Following are a few options to retrieve the kubeconfig
files.
K8s Cluster Id
k8s_cluster config_file
filename
Note: If you do not want to use any tools like IonosCTL CLI, Ansible, or Terraform, you can retrieve the kubeconfig
file directly from the Get Kubernetes Configuration File API using tools like cURL
or Wget
.
To download the kubeconfig
file using Kubernetes Manager, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
In Kubernetes Manager, select a cluster from the cluster list.
In the Cluster Settings tab, select either kubeconfig.yaml or kubeconfig.json from the drop-down list to download the kubeconfig
file.
Alternatively, you can also select the Kubernetes element in the Workspace and download the kubeconfig
file in the Inspector pane.
Result: The kubeconfig
file is successfully downloaded.
Note: Only administrators can retrieve the kubeconfig
file without a node pool. All other users need to create a node pool first.
You can retrieve the kubeconfig
file and save it using a single command from IonosCTL CLI. For more information, see .
ionosctl k8s kubeconfig get --cluster-id CLUSTER_ID
You can retrieve the kubeconfig
by specifying the kubeconfig
parameter in the Ansible YAML file.
For more information, see .
You can interact with the kubeconfig
resources by providing proper configurations.
For more information, see .
You can retrieve the kubeconfig
file and save it using a single command from IonosCTL CLI. For more information, see .
ionosctl k8s kubeconfig get --cluster-id CLUSTER_ID
You can retrieve the kubeconfig
by specifying the kubeconfig
parameter in the Ansible YAML file.
For more information, see .
You can interact with the kubeconfig
resources by providing proper configurations.
For more information, see .