search
HomeTechnology peripheralsIt IndustryMachine Learning Pipelines: Setting Up On-premise Kubernetes

This multi-part tutorial guides you through building an on-premise machine learning pipeline using open-source tools. It's perfect for startups on a budget, emphasizing control and cost predictability.

Key Advantages:

  • Cost-Effective: Avoids cloud service expenses.
  • Customizable: Offers greater control over your ML pipeline.
  • Accessible: Simplifies Kubernetes setup with Rancher Kubernetes Engine (RKE), requiring only basic Docker and Linux skills.
  • Practical Approach: A hands-on guide for ML pipeline development, ideal for beginners.

Why Go On-Premise?

Many assume cloud storage (AWS S3, Google Cloud Storage), but this series demonstrates building a functional pipeline using existing servers, ideal for resource-constrained environments. This approach provides a safe learning environment without unpredictable costs.

Target Audience:

This guide is for software engineers or individuals building production-ready ML models, especially those new to ML pipelines.

Prerequisites:

Familiarity with Linux (Ubuntu 18.04 recommended) and basic Docker knowledge are helpful. Deep Kubernetes expertise isn't required.

Tools Used:

  • Docker
  • Kubernetes
  • Rancher (with RKE)
  • KubeFlow/KubeFlow Pipelines (covered in later parts)
  • Minio
  • TensorFlow (covered in later parts)

Phase 1: Easy Kubernetes Installation with Rancher

This section focuses on the challenging task of Kubernetes installation, simplified with RKE.

Step 0: Machine Preparation:

You'll need at least two Linux machines (or VMs with bridged networking and promiscuous mode enabled) on the same LAN, designated as 'master' and 'worker'. Note that using VMs limits GPU access and performance.

Machine Learning Pipelines: Setting Up On-premise Kubernetes

Essential machine details (IP addresses, usernames, SSH keys) are needed for configuration. A temporary hostname (e.g., rancher-demo.domain.test) will be used for this tutorial. Modify your /etc/hosts file accordingly on both machines to reflect this hostname and the IP addresses. If using VMs, add the hostname entry to your host machine's /etc/hosts file as well for browser access.

Step 1: Obtaining the RKE Binary:

Download the appropriate RKE binary for your OS from the GitHub release page, make it executable, and move it to /usr/local/bin. Verify the installation by running rke.

Step 2: Preparing Linux Hosts:

On all machines:

  1. Install Docker: Install Docker CE (version 19.03 or later) using the provided commands. Verify the installation and add your user to the docker group. Log out and back in for the group changes to take effect.
  2. SSH Keys: Set up SSH keys on the master node and copy the public key to all worker nodes. Configure SSH servers to allow port forwarding (AllowTcpForwarding yes in /etc/ssh/sshd_config).
  3. Disable Swap: Disable swap using sudo swapoff -a and comment out swap entries in /etc/fstab.
  4. Apply Sysctl Settings: Run sudo sysctl net.bridge.bridge-nf-call-iptables=1.
  5. DNS Configuration (Ubuntu 18.04 ): Install resolvconf, edit /etc/resolvconf/resolv.conf.d/head, add nameservers (e.g., 8.8.4.4 and 8.8.8.8), and restart resolvconf.

Step 3: Cluster Configuration File:

On the master node, use rke config to create a cluster.yml file. Provide the necessary information (IP addresses, hostnames, roles, SSH key paths, etc.).

Step 4: Bringing Up the Cluster:

Run rke up on the master node to create the Kubernetes cluster. This process takes some time.

Step 5: Copying Kubeconfig:

Copy kube_config_cluster.yml to $HOME/.kube/config.

Step 6: Installing Kubectl:

Install kubectl on the master node using the provided commands. Verify the installation by running kubectl get nodes.

Step 7: Installing Helm 3:

Install Helm 3 using the provided command.

Step 8: Installing Rancher using Helm:

Add the Rancher repository, create a cattle-system namespace, and install Rancher using Helm. Monitor the deployment status.

Step 9: Setting up Ingress (for access without a load balancer):

Create an ingress.yml file (adapting the host to your chosen hostname) and apply it using kubectl apply -f ingress.yml.

Step 10: Accessing Rancher:

Access the Rancher UI at https://rancher-demo.domain.test (or your chosen hostname), create a password, and set the domain name.

Machine Learning Pipelines: Setting Up On-premise Kubernetes

Step 11: Installing cert-manager:

Install cert-manager (version v0.9.1) using the provided commands. Monitor the pods to ensure they are running.

This completes the Kubernetes cluster setup. The next part of the series will cover installing Kubeflow.

Frequently Asked Questions (FAQs):

The FAQs section provides comprehensive answers to common questions about on-premise Kubernetes setup, covering benefits, comparisons with cloud-based solutions, challenges, security considerations, migration strategies, hardware requirements, scaling, Kubernetes operators, machine learning workloads, and performance monitoring.

The above is the detailed content of Machine Learning Pipelines: Setting Up On-premise Kubernetes. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Serverless Image Processing Pipeline with AWS ECS and LambdaServerless Image Processing Pipeline with AWS ECS and LambdaApr 18, 2025 am 08:28 AM

This tutorial guides you through building a serverless image processing pipeline using AWS services. We'll create a Next.js frontend deployed on an ECS Fargate cluster, interacting with an API Gateway, Lambda functions, S3 buckets, and DynamoDB. Th

CNCF Arm64 Pilot: Impact and InsightsCNCF Arm64 Pilot: Impact and InsightsApr 15, 2025 am 08:27 AM

This pilot program, a collaboration between the CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal, and Actuated, streamlines arm64 CI/CD for CNCF GitHub projects. The initiative addresses security concerns and performance lim

Building a Network Vulnerability Scanner with GoBuilding a Network Vulnerability Scanner with GoApr 01, 2025 am 08:27 AM

This Go-based network vulnerability scanner efficiently identifies potential security weaknesses. It leverages Go's concurrency features for speed and includes service detection and vulnerability matching. Let's explore its capabilities and ethical

Top 10 Best Free Backlink Checker Tools in 2025Top 10 Best Free Backlink Checker Tools in 2025Mar 21, 2025 am 08:28 AM

Website construction is just the first step: the importance of SEO and backlinks Building a website is just the first step to converting it into a valuable marketing asset. You need to do SEO optimization to improve the visibility of your website in search engines and attract potential customers. Backlinks are the key to improving your website rankings, and it shows Google and other search engines the authority and credibility of your website. Not all backlinks are beneficial: Identify and avoid harmful links Not all backlinks are beneficial. Harmful links can harm your ranking. Excellent free backlink checking tool monitors the source of links to your website and reminds you of harmful links. In addition, you can also analyze your competitors’ link strategies and learn from them. Free backlink checking tool: Your SEO intelligence officer

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool