<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kubeflow – Installing Pipelines</title>
    <link>/docs/pipelines/installation/</link>
    <description>Recent content in Installing Pipelines on Kubeflow</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
	  <atom:link href="/docs/pipelines/installation/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Installation Options for Kubeflow Pipelines</title>
      <link>/docs/pipelines/installation/overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/pipelines/installation/overview/</guid>
      <description>
        
        
        &lt;p&gt;Kubeflow Pipelines offers a few installation options.
This page describes the options and the features available
with each option:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#kubeflow-pipelines-standalone&#34;&gt;Kubeflow Pipelines Standalone&lt;/a&gt; is the minimal
portable installation that only includes Kubeflow Pipelines.&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines as &lt;a href=&#34;#full-kubeflow-deployment&#34;&gt;part of a full Kubeflow deployment&lt;/a&gt; provides
all Kubeflow components and more integration with each platform.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Beta&lt;/strong&gt;: &lt;a href=&#34;#google-cloud-ai-platform-pipelines&#34;&gt;Google Cloud AI Platform Pipelines&lt;/a&gt; makes it easier to install and use Kubeflow Pipelines on Google Cloud by providing a management UI on &lt;a href=&#34;https://console.cloud.google.com/ai-platform/pipelines/clusters&#34;&gt;Google Cloud Console&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A &lt;a href=&#34;/docs/pipelines/installation/localcluster-deployment&#34;&gt;local&lt;/a&gt; Kubeflow Pipelines deployment for testing purposes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;choosing-an-installation-option&#34;&gt;Choosing an installation option&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Do you want to use other Kubeflow components in addition to Pipelines?&lt;/p&gt;
&lt;p&gt;If yes, choose the &lt;a href=&#34;#full-kubeflow-deployment&#34;&gt;full Kubeflow deployment&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Do you want to use Kubeflow Pipelines with &lt;a href=&#34;https://github.com/kubeflow/pipelines/issues/1223&#34;&gt;multi-user support&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;If yes, choose the &lt;a href=&#34;#full-kubeflow-deployment&#34;&gt;full Kubeflow deployment&lt;/a&gt; with version &amp;gt;= v1.1.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Do you deploy on Google Cloud?&lt;/p&gt;
&lt;p&gt;If yes, deploy &lt;a href=&#34;#kubeflow-pipelines-standalone&#34;&gt;Kubeflow Pipelines Standalone&lt;/a&gt;. You can also
use &lt;a href=&#34;#google-cloud-ai-platform-pipelines&#34;&gt;Google Cloud AI Platform Pipelines&lt;/a&gt; to deploy Kubeflow Pipelines
using a user interface, but there are limitations in
customizability and upgradability. For details, please read corresponding
sections.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You deploy on other platforms.&lt;/p&gt;
&lt;p&gt;Please compare your platform specific &lt;a href=&#34;#full-kubeflow-deployment&#34;&gt;full Kubeflow&lt;/a&gt; with the
&lt;a href=&#34;#kubeflow-pipelines-standalone&#34;&gt;Kubeflow Pipelines Standalone&lt;/a&gt; before making your decision.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Warning:&lt;/strong&gt; Choose your installation option with caution, there&amp;rsquo;s no current
supported path to migrate data between different installation options. Please
create &lt;a href=&#34;https://github.com/kubeflow/pipelines/issues/new/choose&#34;&gt;a GitHub issue&lt;/a&gt;
if that&amp;rsquo;s important for you.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;standalone&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;kubeflow-pipelines-standalone&#34;&gt;Kubeflow Pipelines Standalone&lt;/h2&gt;
&lt;p&gt;Use this option to deploy Kubeflow Pipelines to an on-premises, cloud
or even local Kubernetes cluster, without the other components of Kubeflow.
To deploy Kubeflow Pipelines Standalone, you use kustomize manifests only.
This process makes it simpler to customize your deployment and to integrate
Kubeflow Pipelines into an existing Kubernetes cluster.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Installation guide&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;/docs/pipelines/installation/standalone-deployment/&#34;&gt;Kubeflow Pipelines Standalone deployment
guide&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Interfaces
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kubeflow Pipelines UI&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines SDK&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines API&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines endpoint is &lt;strong&gt;only auto-configured&lt;/strong&gt; for Google Cloud.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you wish to deploy Kubeflow Pipelines on other platforms, you can either access it through
&lt;code&gt;kubectl port-forward&lt;/code&gt; or configure your own platform specific auth-enabled
endpoint by yourself.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Release Schedule&lt;/dt&gt;
&lt;dd&gt;Kubeflow Pipelines Standalone is available for every Kubeflow Pipelines release.
You will have access to the latest features.&lt;/dd&gt;
&lt;dt&gt;Upgrade Support (&lt;strong&gt;Beta&lt;/strong&gt;)&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;/docs/pipelines/installation/standalone-deployment/#upgrading-kubeflow-pipelines&#34;&gt;Upgrading Kubeflow Pipelines Standalone&lt;/a&gt; introduces how to upgrade
in place.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Google Cloud Integrations
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Kubeflow Pipelines public endpoint with auth support is &lt;strong&gt;auto-configured&lt;/strong&gt; for you.&lt;/li&gt;
&lt;li&gt;Open the Kubeflow Pipelines UI via the &lt;strong&gt;Open Pipelines Dashboard&lt;/strong&gt; link in &lt;a href=&#34;https://console.cloud.google.com/ai-platform/pipelines/clusters&#34;&gt;the AI Platform Pipelines dashboard of Cloud Console&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(Optional) You can choose to persist your data in Google Cloud managed storage (Cloud SQL and Cloud Storage).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/gke/pipelines/authentication-pipelines/&#34;&gt;All options to authenticate to Google Cloud&lt;/a&gt; are supported.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notes on specific features
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After deployment, your Kubernetes cluster contains Kubeflow Pipelines only.
It does not include the other Kubeflow components.
For example, to use a Jupyter Notebook, you must use a local notebook or a
hosted notebook in a cloud service such as the &lt;a href=&#34;https://cloud.google.com/ai-platform/notebooks/docs/&#34;&gt;AI Platform
Notebooks&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines multi-user support is &lt;strong&gt;not available&lt;/strong&gt; in standalone, because
multi-user support depends on other Kubeflow components.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a id=&#34;full-kubeflow&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;full-kubeflow-deployment&#34;&gt;Full Kubeflow deployment&lt;/h2&gt;
&lt;p&gt;Use this option to deploy Kubeflow Pipelines to your local machine, on-premises,
or to a cloud, as part of a full Kubeflow installation.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Installation guide&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;/docs/started/getting-started/&#34;&gt;Kubeflow installation guide&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Interfaces
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kubeflow UI&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines UI within or outside the Kubeflow UI&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines SDK&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines API&lt;/li&gt;
&lt;li&gt;Other Kubeflow APIs&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines endpoint is auto-configured with auth support for each platform&lt;/li&gt;
&lt;/ul&gt;
&lt;dl&gt;
&lt;dt&gt;Release Schedule&lt;/dt&gt;
&lt;dd&gt;The full Kubeflow is released quarterly. It has significant delay in receiving
Kubeflow Pipelines updates.&lt;/dd&gt;
&lt;/dl&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Kubeflow Version&lt;/th&gt;
&lt;th&gt;Kubeflow Pipelines Version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0.7.0&lt;/td&gt;
&lt;td&gt;0.1.31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.0.0&lt;/td&gt;
&lt;td&gt;0.2.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.0.2&lt;/td&gt;
&lt;td&gt;0.2.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.1.0&lt;/td&gt;
&lt;td&gt;1.0.0* (see note below)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Note: Google Cloud, AWS, and IBM Cloud have supported Kubeflow Pipelines 1.0.0 with multi-user separation. Other platforms might not be up-to-date for now, refer to &lt;a href=&#34;https://github.com/kubeflow/manifests/issues/1364#issuecomment-668415871&#34;&gt;this GitHub issue&lt;/a&gt; for status.&lt;/p&gt;
&lt;p&gt;Upgrade Support
:
Refer to &lt;a href=&#34;/docs/gke/pipelines/upgrade/#full-kubeflow&#34;&gt;the full Kubeflow section of upgrading Kubeflow Pipelines on Google Cloud&lt;/a&gt; guide.&lt;/p&gt;
&lt;p&gt;Google Cloud Integrations
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Kubeflow Pipelines public endpoint with auth support is &lt;strong&gt;auto-configured&lt;/strong&gt; for you using &lt;a href=&#34;https://cloud.google.com/iap&#34;&gt;Cloud Identity-Aware Proxy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s no current support for persisting your data in Google Cloud managed storage (Cloud SQL and Cloud Storage). Refer to &lt;a href=&#34;https://github.com/kubeflow/pipelines/issues/4356&#34;&gt;this GitHub issue&lt;/a&gt; for the latest status.&lt;/li&gt;
&lt;li&gt;You can &lt;a href=&#34;/docs/gke/pipelines/authentication-pipelines/#workload-identity&#34;&gt;authenticate to Google Cloud with Workload Identity&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notes on specific features
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After deployment, your Kubernetes cluster includes all the
&lt;a href=&#34;/docs/components/&#34;&gt;Kubeflow components&lt;/a&gt;.
For example, you can use the Jupyter notebook services
&lt;a href=&#34;/docs/notebooks/&#34;&gt;deployed with Kubeflow&lt;/a&gt; to create one or more notebook
servers in your Kubeflow cluster.&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines multi-user support is &lt;strong&gt;only available&lt;/strong&gt; in full Kubeflow. It supports
using a single Kubeflow Pipelines control plane to orchestrate user pipeline
runs in multiple user namespaces with authorization.&lt;/li&gt;
&lt;li&gt;Latest features and bug fixes may not be available soon because release
cadence is long.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a id=&#34;marketplace&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;google-cloud-ai-platform-pipelines&#34;&gt;Google Cloud AI Platform Pipelines&lt;/h2&gt;


&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Beta release&lt;/h4&gt;
&lt;p&gt;Google Cloud AI Platform Pipelines is currently in &lt;b&gt;Beta&lt;/b&gt; with
  limited support. The Kubeflow Pipelines team is interested in any feedback you may have,
  in particular on the usability of the feature.
&lt;p&gt;You can raise any issues or discussion items in the
&lt;a href=&#34;https://github.com/kubeflow/pipelines/issues&#34;&gt;Kubeflow Pipelines
issue tracker&lt;/a&gt;.&lt;/p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;Use this option to deploy Kubeflow Pipelines to Google Kubernetes Engine (GKE)
from Google Cloud Marketplace. You can deploy Kubeflow Pipelines to an existing or new
GKE cluster and manage your cluster within Google Cloud.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Installation guide&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://cloud.google.com/ai-platform/pipelines/docs&#34;&gt;Google Cloud AI Platform Pipelines documentation&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Interfaces
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Cloud Console for managing the Kubeflow Pipelines cluster and other Google Cloud
services&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines UI via the &lt;strong&gt;Open Pipelines Dashboard&lt;/strong&gt; link in the
Google Cloud Console&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines SDK in Cloud Notebooks&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines endpoint of your instance is auto-configured for you&lt;/li&gt;
&lt;/ul&gt;
&lt;dl&gt;
&lt;dt&gt;Release Schedule&lt;/dt&gt;
&lt;dd&gt;AI Platform Pipelines is available for a chosen set of stable Kubeflow
Pipelines releases. You will receive updates slightly slower than Kubeflow
Pipelines Standalone.&lt;/dd&gt;
&lt;dt&gt;Upgrade Support (&lt;strong&gt;Alpha&lt;/strong&gt;)&lt;/dt&gt;
&lt;dd&gt;An in-place upgrade is not supported.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;To upgrade AI Platform Pipelines by reinstalling it (with existing data), refer to the &lt;a href=&#34;/docs/gke/pipelines/upgrade/#ai-platform-pipelines&#34;&gt;Upgrading AI Platform Pipelines&lt;/a&gt; guide.&lt;/p&gt;
&lt;p&gt;Google Cloud Integrations
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can deploy AI Platform Pipelines on &lt;a href=&#34;https://console.cloud.google.com/marketplace/details/google-cloud-ai-platform/kubeflow-pipelines&#34;&gt;Cloud Console UI&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A Kubeflow Pipelines public endpoint with auth support is &lt;strong&gt;auto-configured&lt;/strong&gt; for you.&lt;/li&gt;
&lt;li&gt;(Optional) You can choose to persist your data in Google Cloud managed storage services (Cloud SQL and Cloud Storage).&lt;/li&gt;
&lt;li&gt;You can &lt;a href=&#34;/docs/gke/pipelines/authentication-pipelines/#compute-engine-default-service-account&#34;&gt;authenticate to Google Cloud with the Compute Engine default service account&lt;/a&gt;. However, this method may not be suitable if you need workload permission separation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notes on specific features
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After deployment, your Kubernetes cluster contains Kubeflow Pipelines only.
It does not include the other Kubeflow components.
For example, to use a Jupyter Notebook, you can use &lt;a href=&#34;https://cloud.google.com/ai-platform/notebooks/docs/&#34;&gt;AI Platform
Notebooks&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Kubeflow Pipelines multi-user support is &lt;strong&gt;not available&lt;/strong&gt; in AI Platform Pipelines, because
multi-user support depends on other Kubeflow components.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Kubeflow Pipelines Standalone Deployment</title>
      <link>/docs/pipelines/installation/standalone-deployment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/pipelines/installation/standalone-deployment/</guid>
      <description>
        
        
        &lt;p&gt;As an alternative to deploying Kubeflow Pipelines (KFP) as part of the
&lt;a href=&#34;/docs/started/getting-started/#installing-kubeflow&#34;&gt;Kubeflow deployment&lt;/a&gt;, you also have a choice
to deploy only Kubeflow Pipelines. Follow the instructions below to deploy
Kubeflow Pipelines standalone using the supplied kustomize manifests.&lt;/p&gt;
&lt;p&gt;You should be familiar with &lt;a href=&#34;https://kubernetes.io/docs/home/&#34;&gt;Kubernetes&lt;/a&gt;,
&lt;a href=&#34;https://kubernetes.io/docs/reference/kubectl/overview/&#34;&gt;kubectl&lt;/a&gt;, and &lt;a href=&#34;https://kustomize.io/&#34;&gt;kustomize&lt;/a&gt;.&lt;/p&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Installation options for Kubeflow Pipelines standalone&lt;/h4&gt;
This guide currently describes how to install Kubeflow Pipelines standalone
on Google Cloud Platform (GCP). You can also install Kubeflow Pipelines standalone on other
platforms. This guide needs updating. See &lt;a href=&#34;https://github.com/kubeflow/website/issues/1253&#34;&gt;Issue 1253&lt;/a&gt;.
&lt;/div&gt;

&lt;h2 id=&#34;before-you-get-started&#34;&gt;Before you get started&lt;/h2&gt;
&lt;p&gt;Working with Kubeflow Pipelines Standalone requires a Kubernetes cluster as well as an installation of kubectl.&lt;/p&gt;
&lt;h3 id=&#34;download-and-install-kubectl&#34;&gt;Download and install kubectl&lt;/h3&gt;
&lt;p&gt;Download and install kubectl by following the &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/install-kubectl/&#34;&gt;kubectl installation guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You need kubectl version 1.14 or higher for native support of kustomize.&lt;/p&gt;
&lt;h3 id=&#34;set-up-your-cluster&#34;&gt;Set up your cluster&lt;/h3&gt;
&lt;p&gt;If you have an existing Kubernetes cluster, continue with the instructions for &lt;a href=&#34;#configure-kubectl&#34;&gt;configuring kubectl to talk to your cluster&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See the GKE guide to &lt;a href=&#34;https://cloud.google.com/kubernetes-engine/docs/how-to/creating-a-cluster&#34;&gt;creating a cluster&lt;/a&gt; for Google Cloud Platform (GCP).&lt;/p&gt;
&lt;p&gt;Use the &lt;a href=&#34;https://cloud.google.com/sdk/gcloud/reference/container/clusters/create&#34;&gt;gcloud container clusters create command&lt;/a&gt; to create a cluster that can run all Kubeflow Pipelines samples:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# The following parameters can be customized based on your needs.

CLUSTER_NAME=&amp;quot;kubeflow-pipelines-standalone&amp;quot;
ZONE=&amp;quot;us-central1-a&amp;quot;
MACHINE_TYPE=&amp;quot;n1-standard-2&amp;quot; # A machine with 2 CPUs and 7.50GB memory
SCOPES=&amp;quot;cloud-platform&amp;quot; # This scope is needed for running some pipeline samples. Read the warning below for its security implication

gcloud container clusters create $CLUSTER_NAME \
     --zone $ZONE \
     --machine-type $MACHINE_TYPE \
     --scopes $SCOPES
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Warning&lt;/strong&gt;: Using &lt;code&gt;SCOPES=&amp;quot;cloud-platform&amp;quot;&lt;/code&gt; grants all GCP permissions to the cluster. For a more secure cluster setup, refer to &lt;a href=&#34;/docs/gke/authentication/#authentication-from-kubeflow-pipelines&#34;&gt;Authenticating Pipelines to GCP&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note, some legacy pipeline examples may need minor code change to run on clusters with &lt;code&gt;SCOPES=&amp;quot;cloud-platform&amp;quot;&lt;/code&gt;, refer to &lt;a href=&#34;/docs/gke/pipelines/authentication-pipelines/#authoring-pipelines-to-use-default-service-account&#34;&gt;Authoring Pipelines to use default service account&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://cloud.google.com/compute/docs/regions-zones/#available&#34;&gt;GCP regions and zones documentation&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://cloud.google.com/sdk/gcloud/&#34;&gt;gcloud command-line tool guide&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://cloud.google.com/sdk/gcloud/reference/container/clusters/create&#34;&gt;gcloud command reference&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;configure-kubectl&#34;&gt;Configure kubectl to talk to your cluster&lt;/h3&gt;
&lt;p&gt;See the Google Kubernetes Engine (GKE) guide to
&lt;a href=&#34;https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl&#34;&gt;configuring cluster access for kubectl&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;deploying-kubeflow-pipelines&#34;&gt;Deploying Kubeflow Pipelines&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Deploy the Kubeflow Pipelines:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;export PIPELINE_VERSION=1.0.4
kubectl apply -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=$PIPELINE_VERSION&amp;quot;
kubectl wait --for condition=established --timeout=60s crd/applications.app.k8s.io
kubectl apply -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/env/dev?ref=$PIPELINE_VERSION&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The Kubeflow Pipelines deployment requires approximately 3 minutes to complete.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The above commands apply to Kubeflow Pipelines version 0.4.0 and higher.&lt;/p&gt;
&lt;p&gt;For Kubeflow Pipelines version 0.2.0 ~ 0.3.0, use:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;export PIPELINE_VERSION=&amp;lt;kfp-version-between-0.2.0-and-0.3.0&amp;gt;
kubectl apply -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/base/crds?ref=$PIPELINE_VERSION&amp;quot;
kubectl wait --for condition=established --timeout=60s crd/applications.app.k8s.io
kubectl apply -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/env/dev?ref=$PIPELINE_VERSION&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For Kubeflow Pipelines version &amp;lt; 0.2.0, use:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;export PIPELINE_VERSION=&amp;lt;kfp-version-0.1.x&amp;gt;
kubectl apply -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/env/dev?ref=$PIPELINE_VERSION&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: &lt;code&gt;kubectl apply -k&lt;/code&gt; accepts local paths and paths that are formatted as &lt;a href=&#34;https://github.com/kubernetes-sigs/kustomize/blob/master/examples/remoteBuild.md#url-format&#34;&gt;hashicorp/go-getter URLs&lt;/a&gt;. While the paths in the preceding commands look like URLs, the paths are not valid URLs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Get the public URL for the Kubeflow Pipelines UI and use it to access the Kubeflow Pipelines UI:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl describe configmap inverse-proxy-config -n kubeflow | grep googleusercontent.com
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;upgrading-kubeflow-pipelines&#34;&gt;Upgrading Kubeflow Pipelines&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Check the &lt;a href=&#34;https://github.com/kubeflow/pipelines/releases&#34;&gt;Kubeflow Pipelines GitHub repository&lt;/a&gt; for available releases.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To upgrade to Kubeflow Pipelines 0.4.0 and higher, use the following commands:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;export PIPELINE_VERSION=&amp;lt;version-you-want-to-upgrade-to&amp;gt;
kubectl apply -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=$PIPELINE_VERSION&amp;quot;
kubectl wait --for condition=established --timeout=60s crd/applications.app.k8s.io
kubectl apply -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/env/dev?ref=$PIPELINE_VERSION&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To upgrade to Kubeflow Pipelines 0.3.0 and lower, use the &lt;a href=&#34;#deploying-kubeflow-pipelines&#34;&gt;deployment instructions&lt;/a&gt; to upgrade your Kubeflow Pipelines cluster.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Delete obsolete resources manually.&lt;/p&gt;
&lt;p&gt;Depending on the version you are upgrading from and the version you are upgrading to,
some Kubeflow Pipelines resources may have become obsolete.&lt;/p&gt;
&lt;p&gt;If you are upgrading from Kubeflow Pipelines &amp;lt; 0.4.0 to 0.4.0 or above, you can remove the
following obsolete resources after the upgrade:
&lt;code&gt;metadata-deployment&lt;/code&gt;, &lt;code&gt;metadata-service&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Run the following command to check if these resources exist on your cluster:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl -n &amp;lt;KFP_NAMESPACE&amp;gt; get deployments | grep metadata-deployment
kubectl -n &amp;lt;KFP_NAMESPACE&amp;gt; get service | grep metadata-service
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If these resources exist on your cluster, run the following commands to delete them:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl -n &amp;lt;KFP_NAMESPACE&amp;gt; delete deployment metadata-deployment
kubectl -n &amp;lt;KFP_NAMESPACE&amp;gt; delete service metadata-service
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For other versions, you don&amp;rsquo;t need to do anything.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;customizing-kubeflow-pipelines&#34;&gt;Customizing Kubeflow Pipelines&lt;/h2&gt;
&lt;p&gt;Kubeflow Pipelines can be configured through kustomize &lt;a href=&#34;https://github.com/kubernetes-sigs/kustomize/blob/master/docs/glossary.md#overlay&#34;&gt;overlays&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To begin, first clone the &lt;a href=&#34;https://github.com/kubeflow/pipelines&#34;&gt;Kubeflow Pipelines GitHub repository&lt;/a&gt;,
and use it as your working directory.&lt;/p&gt;
&lt;h3 id=&#34;deploy-on-gcp-with-cloudsql-and-google-cloud-storage&#34;&gt;Deploy on GCP with CloudSQL and Google Cloud Storage&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This is recommended for production environments. For more details about customizing your environment
for GCP, see the &lt;a href=&#34;https://github.com/kubeflow/pipelines/tree/master/manifests/kustomize/env/gcp&#34;&gt;Kubeflow Pipelines GCP manifests&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;change-deployment-namespace&#34;&gt;Change deployment namespace&lt;/h3&gt;
&lt;p&gt;To deploy Kubeflow Pipelines standalone in namespace &lt;code&gt;&amp;lt;my-namespace&amp;gt;&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Set the &lt;code&gt;namespace&lt;/code&gt; field to &lt;code&gt;&amp;lt;my-namespace&amp;gt;&lt;/code&gt; in
&lt;a href=&#34;https://github.com/kubeflow/pipelines/blob/master/manifests/kustomize/env/dev/kustomization.yaml&#34;&gt;dev/kustomization.yaml&lt;/a&gt; or
&lt;a href=&#34;https://github.com/kubeflow/pipelines/blob/master/manifests/kustomize/env/gcp/kustomization.yaml&#34;&gt;gcp/kustomization.yaml&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Apply the changes to update the Kubeflow Pipelines deployment:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl apply -k manifests/kustomize/env/dev
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If using GCP Cloud SQL and Google Cloud Storage, apply with this command:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl apply -k manifests/kustomize/env/gcp
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;disable-the-public-endpoint&#34;&gt;Disable the public endpoint&lt;/h3&gt;
&lt;p&gt;By default, the KFP standalone deployment installs an &lt;a href=&#34;https://github.com/google/inverting-proxy&#34;&gt;inverting proxy agent&lt;/a&gt; that exposes a public URL. If you want to skip the installation of the inverting proxy agent, complete the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Comment out the proxy components in the base &lt;a href=&#34;https://github.com/kubeflow/pipelines/blob/master/manifests/kustomize/base/kustomization.yaml&#34;&gt;kustomization.yaml&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Apply the changes to update the Kubeflow Pipelines deployment:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl apply -k manifests/kustomize/env/dev
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If using GCP Cloud SQL and Google Cloud Storage, apply with this command:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl apply -k manifests/kustomize/env/gcp
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify that the Kubeflow Pipelines UI is accessible by port-forwarding:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl port-forward -n kubeflow svc/ml-pipeline-ui 8080:80
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open the Kubeflow Pipelines UI at &lt;code&gt;http://localhost:8080/&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;uninstalling-kubeflow-pipelines&#34;&gt;Uninstalling Kubeflow Pipelines&lt;/h2&gt;
&lt;p&gt;To uninstall Kubeflow Pipelines, run &lt;code&gt;kubectl delete -k &amp;lt;manifest-file&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, to uninstall KFP using manifests from a GitHub repository, run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;export PIPELINE_VERSION=1.0.4
kubectl delete -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/env/dev?ref=$PIPELINE_VERSION&amp;quot;
kubectl delete -k &amp;quot;github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=$PIPELINE_VERSION&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To uninstall KFP using manifests from your local repository or file system, run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl delete -k manifests/kustomize/env/dev
kubectl delete -k manifests/kustomize/cluster-scoped-resources
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you are using GCP Cloud SQL and Google Cloud Storage, run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl delete -k manifests/kustomize/env/gcp
kubectl delete -k manifests/kustomize/cluster-scoped-resources
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;best-practices-for-maintaining-manifests&#34;&gt;Best practices for maintaining manifests&lt;/h2&gt;
&lt;p&gt;Similar to source code, configuration files belong in source control.
A repository manages the changes to your
manifest files and ensures that you can repeatedly deploy, upgrade,
and uninstall your components.&lt;/p&gt;
&lt;h3 id=&#34;maintain-your-manifests-in-source-control&#34;&gt;Maintain your manifests in source control&lt;/h3&gt;
&lt;p&gt;After creating or customizing your deployment manifests, save your manifests
to a local or remote source control respository.
For example, save the following &lt;code&gt;kustomization.yaml&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# Edit the following to change the deployment to your custom namespace.
namespace: kubeflow
# You can add other customizations here using kustomize.
# Edit ref in the following link to deploy a different version of Kubeflow Pipelines.
bases:
- github.com/kubeflow/pipelines/manifests/kustomize/env/dev?ref=1.0.4
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;further-reading&#34;&gt;Further reading&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;To learn about kustomize workflows with off-the-shelf configurations, see the
&lt;a href=&#34;https://github.com/kubernetes-sigs/kustomize/blob/master/docs/workflows.md#off-the-shelf-configuration&#34;&gt;kustomize configuration workflows guide&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Read &lt;a href=&#34;/docs/gke/authentication/#authentication-from-kubeflow-pipelines#authoring-pipelines-to-use-workload-identity&#34;&gt;Authenticating Pipelines to GCP&lt;/a&gt; if you want to use GCP services in Kubeflow Pipelines.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;If your pipelines are stuck in ContainerCreating state and it has pod events like&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;MountVolume.SetUp failed for volume &amp;quot;gcp-credentials-user-gcp-sa&amp;quot; : secret &amp;quot;user-gcp-sa&amp;quot; not found
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You should remove &lt;code&gt;use_gcp_secret&lt;/code&gt; usages as documented in &lt;a href=&#34;/docs/gke/pipelines/authentication-pipelines/#authoring-pipelines-to-use-workload-identity&#34;&gt;Authenticating Pipelines to GCP&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;whats-next&#34;&gt;What&amp;rsquo;s next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/docs/gke/pipelines/authentication-sdk/#connecting-to-kubeflow-pipelines-standalone-or-ai-platform-pipelines&#34;&gt;Connecting to Kubeflow Pipelines standalone on Google Cloud using the SDK&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Deploying Kubeflow Pipelines on a local cluster</title>
      <link>/docs/pipelines/installation/localcluster-deployment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/pipelines/installation/localcluster-deployment/</guid>
      <description>
        
        
        &lt;p&gt;This guide shows how to deploy Kubeflow Pipelines standalone on a local
Kubernetes cluster using:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;kind&lt;/li&gt;
&lt;li&gt;K3s&lt;/li&gt;
&lt;li&gt;K3s on Windows Subsystem for Linux (WSL)&lt;/li&gt;
&lt;li&gt;K3ai [&lt;em&gt;alpha&lt;/em&gt;]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Such deployment methods can be part of your local environment using the supplied
kustomize manifests for test purposes. This guide is an alternative to&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;/docs/started/getting-started/#installing-kubeflow&#34;&gt;Deploying Kubeflow Pipelines
(KFP)&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;before-you-get-started&#34;&gt;Before you get started&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You should be familiar with &lt;a href=&#34;https://kubernetes.io/docs/home/&#34;&gt;Kubernetes&lt;/a&gt;,
&lt;a href=&#34;https://kubernetes.io/docs/reference/kubectl/overview/&#34;&gt;kubectl&lt;/a&gt;, and
&lt;a href=&#34;https://kustomize.io/&#34;&gt;kustomize&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For native support of kustomize, you will need kubectl v1.14 or higher. You
can download and install kubectl by following the &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/install-kubectl/&#34;&gt;kubectl installation
guide&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;kind&#34;&gt;kind&lt;/h2&gt;
&lt;h3 id=&#34;1-installing-kind&#34;&gt;1. Installing kind&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://kind.sigs.k8s.io&#34;&gt;kind&lt;/a&gt; is a tool for running local Kubernetes clusters
using Docker container nodes. &lt;code&gt;kind&lt;/code&gt; was primarily designed for testing
Kubernetes itself. It can also be used for local development or CI.&lt;/p&gt;
&lt;p&gt;You can install and configure kind by following the
&lt;a href=&#34;https://kind.sigs.k8s.io/docs/user/quick-start/&#34;&gt;official quick start&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To get started with kind:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On Linux:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Download and move the &lt;code&gt;kind&lt;/code&gt; executable to your directory in your PATH by
running the following commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;curl -Lo ./kind https://kind.sigs.k8s.io/dl/&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;{&lt;/span&gt;KIND_VERSION&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}&lt;/span&gt;/kind-linux-amd64 &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;chmod +x ./kind &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;mv ./kind /&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;{&lt;/span&gt;YOUR_KIND_DIRECTORY&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}&lt;/span&gt;/kind
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Replace the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;{KIND_VERSION}&lt;/code&gt;: the kind version; for example, &lt;code&gt;v0.8.1&lt;/code&gt; as of the date this
guide was written&lt;/li&gt;
&lt;li&gt;&lt;code&gt;{YOUR_KIND_DIRECTORY}&lt;/code&gt;: your directory in PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;On macOS:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can use &lt;a href=&#34;https://brew.sh&#34;&gt;Homebrew&lt;/a&gt; to install kind:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;brew install kind&lt;span style=&#34;color:#4e9a06&#34;&gt;`&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;On Windows:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You can use the administrative PowerShell console to run the following
commands to download and move the &lt;code&gt;kind&lt;/code&gt; executable to a directory in your
PATH:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;PowerShell:&lt;/strong&gt; Run these commands to download and move the &lt;code&gt;kind&lt;/code&gt; executable
to a directory in your PATH:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;color:#000&#34;&gt;curl&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;exe&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;-Lo&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;kind-windows-amd64&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;exe&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;//&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;sigs&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;k8s&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;io&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;dl&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;/{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;KIND_VERSION&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;kind-windows-amd64&lt;/span&gt;
&lt;span style=&#34;color:#204a87&#34;&gt;Move-Item&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.\&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;kind-windows-amd64&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;exe&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;c:&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;\{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;YOUR_KIND_DIRECTORY&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}\&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;exe&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Replace the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;{KIND_VERSION}&lt;/code&gt;: the kind version - for example, &lt;code&gt;v0.9&lt;/code&gt; (check the latest
stable binary versions on the &lt;a href=&#34;https://github.com/kubernetes-sigs/kind/releases&#34;&gt;kind releases
pages&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;{YOUR_KIND_DIRECTORY}&lt;/code&gt;: your directory for kind in PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;{KIND_VERSION}&lt;/code&gt;: the kind version; for example, &lt;code&gt;v0.8.1&lt;/code&gt; as of the date this
guide was written&lt;/li&gt;
&lt;li&gt;&lt;code&gt;{YOUR_KIND_DIRECTORY}&lt;/code&gt;: your directory in PATH&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Alternatively, you can use Chocolatey &lt;a href=&#34;https://chocolatey.org/packages/kind&#34;&gt;https://chocolatey.org/packages/kind&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-SHELL&#34; data-lang=&#34;SHELL&#34;&gt;choco install kind
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; kind uses containerd as a default container-runtime hence you cannot
use the standard kubeflow pipeline manifests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://kind.sigs.k8s.io/docs/user/quick-start/&#34;&gt;kind: Quick Start Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://kind.sigs.k8s.io/docs/user/known-issues/&#34;&gt;kind: Known Issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://kind.sigs.k8s.io/docs/user/working-offline/&#34;&gt;kind: Working Offline&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-creating-a-cluster-on-kind&#34;&gt;2. Creating a cluster on kind&lt;/h3&gt;
&lt;p&gt;Having installed kind, you can create a Kubernetes cluster on kind with this
command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;kind create cluster
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This will bootstrap a Kubernetes cluster using a pre-built node image. You can
find that image on the Docker Hub &lt;code&gt;kindest/node&lt;/code&gt;
&lt;a href=&#34;https://hub.docker.com/r/kindest/node&#34;&gt;here&lt;/a&gt;. If you wish to build the node
image yourself, you can use the &lt;code&gt;kind build node-image&lt;/code&gt; command—see the official
&lt;a href=&#34;https://kind.sigs.k8s.io/docs/user/quick-start/#building-images&#34;&gt;building
image&lt;/a&gt; section
for more details. And, to specify another image, use the &lt;code&gt;--image&lt;/code&gt; flag.&lt;/p&gt;
&lt;p&gt;By default, the cluster will be given the name kind. Use the &lt;code&gt;--name&lt;/code&gt; flag to
assign the cluster a different context name.&lt;/p&gt;
&lt;h2 id=&#34;k3s&#34;&gt;K3s&lt;/h2&gt;
&lt;h3 id=&#34;1-setting-up-a-cluster-on-k3s&#34;&gt;1. Setting up a cluster on K3s&lt;/h3&gt;
&lt;p&gt;K3s is a fully compliant Kubernetes distribution with the following
enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Packaged as a single binary.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lightweight storage backend based on sqlite3 as the default storage mechanism.
etcd3, MySQL, Postgres also still available.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wrapped in simple launcher that handles a lot of the complexity of TLS and
options.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Secure by default with reasonable defaults for lightweight environments.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Simple but powerful “batteries-included” features have been added, such as: a
local storage provider, a service load balancer, a Helm controller, and the
Traefik ingress controller.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Operation of all Kubernetes control plane components is encapsulated in a
single binary and process. This allows K3s to automate and manage complex
cluster operations like distributing certificates.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;External dependencies have been minimized (just a modern kernel and cgroup
mounts needed). K3s packages required dependencies, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;containerd&lt;/li&gt;
&lt;li&gt;Flannel&lt;/li&gt;
&lt;li&gt;CoreDNS&lt;/li&gt;
&lt;li&gt;CNI&lt;/li&gt;
&lt;li&gt;Host utilities (iptables, socat, etc)&lt;/li&gt;
&lt;li&gt;Ingress controller (traefik)&lt;/li&gt;
&lt;li&gt;Embedded service loadbalancer&lt;/li&gt;
&lt;li&gt;Embedded network policy controller&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can find the the official K3s installation script to install it as a service
on systemd- or openrc-based systems on the official
&lt;a href=&#34;https://get.k3s.io&#34;&gt;K3s website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To install K3s using that method, run the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-SHELL&#34; data-lang=&#34;SHELL&#34;&gt;curl -sfL https://get.k3s.io &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;|&lt;/span&gt; sh -
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://rancher.com/docs/k3s/latest/en/quick-start/&#34;&gt;K3s: Quick Start Guide&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://rancher.com/docs/k3s/latest/en/known-issues/&#34;&gt;K3s: Known Issues&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://rancher.com/docs/k3s/latest/en/faq/&#34;&gt;K3s: FAQ&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-creating-a-cluster-on-k3s&#34;&gt;2. Creating a cluster on K3s&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;To create a Kubernetes cluster on K3s, use the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;sudo k3s server &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;amp;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This will bootstrap a Kubernetes cluster kubeconfig is written to
&lt;code&gt;/etc/rancher/k3s/k3s.yaml&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;sudo k3s kubectl get node
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Check your cluster:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;sudo k3s kubectl get node
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;K3s embeds the popular kubectl command directly in the binaries, so you may
immediately interact with the cluster through it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) Run the below command on a different node. &lt;code&gt;NODE_TOKEN&lt;/code&gt; comes from
&lt;code&gt;/var/lib/rancher/k3s/server/node-token&lt;/code&gt; on your server:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;sudo k3s agent --server https://myserver:6443 --token &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;{&lt;/span&gt;YOUR_NODE_TOKEN&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;k3s-on-windows-subsystem-for-linux-wsl&#34;&gt;K3s on Windows Subsystem for Linux (WSL)&lt;/h2&gt;
&lt;h3 id=&#34;1-setting-up-a-cluster-on-k3s-on-windows-subsystem-for-linux-wsl&#34;&gt;1. Setting up a cluster on K3s on Windows Subsystem for Linux (WSL)&lt;/h3&gt;
&lt;p&gt;The Windows Subsystem for Linux (WSL) lets developers run a GNU/Linux
environment—including most command-line tools, utilities, and applications—
directly on Windows, unmodified, without the overhead of a traditional virtual
machine or dualboot setup.&lt;/p&gt;
&lt;p&gt;The full instructions for installing WSL can be found on the
&lt;a href=&#34;https://docs.microsoft.com/en-us/windows/wsl/install-win10&#34;&gt;official Windows site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The following steps summarize what you&amp;rsquo;ll need to set up WSL and then K3s on
WSL.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install [WSL] by following the official &lt;a href=&#34;https://docs.microsoft.com/en-us/windows/wsl/install-win10&#34;&gt;docs&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;As per the official instructions, update WSL and download your preferred
distibution:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.microsoft.com/store/apps/9PN498VPMF3Z&#34;&gt;SUSE Linux Enterprise Server 15
SP1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.microsoft.com/store/apps/9MZD0N9Z4M4H&#34;&gt;openSUSE Leap 15.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.microsoft.com/store/apps/9N9TNGVNDL3Q&#34;&gt;Ubuntu 18.04 LTS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.microsoft.com/store/apps/9MSVKQC78PK6&#34;&gt;Debian GNU/Linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gist.github.com/ibuildthecloud/1b7d6940552ada6d37f54c71a89f7d00&#34;&gt;K3s on WSL: Quick Start Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-creating-a-cluster-on-k3s-on-wsl&#34;&gt;2. Creating a cluster on K3s on WSL&lt;/h3&gt;
&lt;p&gt;Below are the steps to create a cluster on K3s in WSL&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;To create a Kubernetes cluster on K3s on WSL, run the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;sudo ./k3s server
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This will bootstrap a Kubernetes cluster but you will cannot yet access from
your Windows machine to the cluster itself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You can&amp;rsquo;t install K3s using the curl script because there is no
supervisor (systemd or openrc) in WSL.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Download the K3s binary from &lt;a href=&#34;https://github.com/rancher/k3s/releases/latest&#34;&gt;https://github.com/rancher/k3s/releases/latest&lt;/a&gt;.
Then, inside the directory where you download the K3s binary to, run this
command to add execute permission to the K3s binary:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;chmod +x k3s
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Start K3s:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;sudo ./k3s server
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;3-setting-up-access-to-wsl-instance&#34;&gt;3. Setting up access to WSL instance&lt;/h3&gt;
&lt;p&gt;To set up access to your WSL instance:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Copy &lt;code&gt;/etc/rancher/k3s/k3s.yaml&lt;/code&gt; from WSL to &lt;code&gt;$HOME/.kube/config&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Edit the copied file by changing the server URL from &lt;code&gt;https://localhost:6443&lt;/code&gt;
to the IP of the your WSL instance (&lt;code&gt;ip addr show dev eth0&lt;/code&gt;) (For example,
&lt;code&gt;https://192.168.170.170:6443&lt;/code&gt;.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run kubectl in a Windows terminal. If you don&amp;rsquo;t kubectl installed, follow the
official &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-windows&#34;&gt;Kubernetes on Windows instructions&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;k3ai-alpha&#34;&gt;K3ai [&lt;em&gt;alpha&lt;/em&gt;]&lt;/h2&gt;
&lt;p&gt;K3ai is a lightweight &amp;ldquo;infrastructure in a box&amp;rdquo; designed specifically to install
and configure AI tools and platforms on portable hardware, such as laptops and
edge devices. This enables users to perform quick experimentations with Kubeflow
on a local cluster.&lt;/p&gt;
&lt;p&gt;K3ai&amp;rsquo;s main goal is to provide a quick way to install Kubernetes (K3s-based) and
Kubeflow Pipelines with NVIDIA GPU support and TensorFlow Serving with just one
line. (For Kubeflow and other component support, check &lt;a href=&#34;https://kf5ai.gitbook.io/k3ai/#components-of-k-3-ai&#34;&gt;K3ai&amp;rsquo;s
website&lt;/a&gt; for updates.) To
install Kubeflow Pipelines using K3ai, run the following commands:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;With CPU-only support:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-SHELL&#34; data-lang=&#34;SHELL&#34;&gt;curl -sfL https://get.k3ai.in &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;|&lt;/span&gt; bash -s -- --cpu --plugin_kfpipelines
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;With GPU support:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-SHELL&#34; data-lang=&#34;SHELL&#34;&gt;curl -sfL https://get.k3ai.in &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;|&lt;/span&gt; bash -s -- --gpu --plugin_kfpipelines
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For more information about K3ai, refer to the
&lt;a href=&#34;https://docs.k3ai.in&#34;&gt;official documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;deploying-kubeflow-pipelines&#34;&gt;Deploying Kubeflow Pipelines&lt;/h2&gt;
&lt;p&gt;The installation process for Kubeflow Pipelines is the same for all three
environments covered in this guide: kind, K3s, and K3ai.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Process Namespace Sharing (PNS) is not mature in Argo yet - for more
information go to &lt;a href=&#34;https://argoproj.github.io/argo/workflow-executors/&#34;&gt;Argo
Executors&lt;/a&gt; and reference
&amp;ldquo;pns executors&amp;rdquo; in any issue you may come across when using PNS.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;To deploy the Kubeflow Pipelines, run the following commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# env/platform-agnostic-pns hasn&amp;#39;t been publically released, so you will install it from master&lt;/span&gt;
&lt;span style=&#34;color:#204a87&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;PIPELINE_VERSION&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;1.0.4
kubectl apply -k &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$PIPELINE_VERSION&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&lt;/span&gt;
kubectl &lt;span style=&#34;color:#204a87&#34;&gt;wait&lt;/span&gt; --for &lt;span style=&#34;color:#000&#34;&gt;condition&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;established --timeout&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;60s crd/applications.app.k8s.io
kubectl apply -k &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;github.com/kubeflow/pipelines/manifests/kustomize/env/platform-agnostic-pns?ref=&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$PIPELINE_VERSION&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Kubeflow Pipelines deployment may take several minutes to complete.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify that the Kubeflow Pipelines UI is accessible by port-forwarding:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;kubectl port-forward -n kubeflow svc/ml-pipeline-ui 8080:80
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then, open the Kubeflow Pipelines UI at &lt;code&gt;http://localhost:8080/&lt;/code&gt; or - if you are
using kind or K3s within a virtual machine - &lt;code&gt;http://{YOUR_VM_IP_ADDRESS}:8080/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Note that K3ai will automatically print the URL for the web UI at the end of
the installation process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: &lt;code&gt;kubectl apply -k&lt;/code&gt; accepts local paths and paths that are
formatted as
&lt;a href=&#34;https://github.com/kubernetes-sigs/kustomize/blob/master/examples/remoteBuild.md#url-format&#34;&gt;hashicorp/go-getter URLs&lt;/a&gt;.
While the paths in the preceding commands look like URLs, they are not valid
URLs.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;uninstalling-kubeflow-pipelines&#34;&gt;Uninstalling Kubeflow Pipelines&lt;/h2&gt;
&lt;p&gt;Below are the steps to remove Kubeflow Pipelines on kind, K3s, or K3ai:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;To uninstall Kubeflow Pipelines using your manifest file, run the following command,
replacing &lt;code&gt;{YOUR_MANIFEST_FILE}&lt;/code&gt; with the name of your manifest file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;kubectl delete -k &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;{&lt;/span&gt;YOUR_MANIFEST_FILE&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;`&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To uninstall Kubeflow Pipelines using manifests from Kubeflow Pipelines&amp;rsquo;s
GitHub repository, run these commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;color:#204a87&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;PIPELINE_VERSION&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;1.0.4
kubectl delete -k &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;github.com/kubeflow/pipelines/manifests/kustomize/env/platform-agnostic-pns?ref=&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$PIPELINE_VERSION&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&lt;/span&gt;
kubectl delete -k &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;github.com/kubeflow/pipelines/manifests/kustomize/cluster-scoped-resources?ref=&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$PIPELINE_VERSION&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To uninstall Kubeflow Pipelines using manifests from your local repository or
file system, run the following commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;kubectl delete -k manifests/kustomize/env/platform-agnostic-pns
kubectl delete -k manifests/kustomize/cluster-scoped-resources
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
