Quickstart
This page is a guideline for installing PipeCD into your Kubernetes cluster and deploying a “hello world” application to that same Kubernetes cluster.
Note:
- It’s not required to install the PipeCD control plane to the cluster where your applications are running. Please read this blog post to understand more about PipeCD in real life use cases.
- If you want to experiment with PipeCD freely or don’t have a Kubernetes cluster, we recommend this Tutorial.
Prerequisites
- Having a Kubernetes cluster and connect to it via kubectl.
1. Installing PipeCD in quickstart mode
Across the PipeCD concepts, PipeCD platform is constructed by 2 components: Control Plane and Piped (the agent).
1.1. Installing PipeCD Control Plane
$ kubectl create namespace pipecd
$ kubectl apply -n pipecd -f https://raw.githubusercontent.com/pipe-cd/pipecd/master/quickstart/manifests/control-plane.yaml
The PipeCD control plane will be installed with a default project named quickstart
. To access the PipeCD Control Plane UI, run the following command
$ kubectl port-forward -n pipecd svc/pipecd 8080
You can access the PipeCD console at http://localhost:8080?project=quickstart
To login, you can use the configured static admin account as below:
- username:
hello-pipecd
- password:
hello-pipecd
And you will access the main page of PipeCD Control Plane console, which looks like this
For more about PipeCD control plane management, please check Managing ControlPlane.
1.2. Installing Piped
Next, in order to perform CD tasks, you need to install a Piped agent to the cluster.
From your logged in tab, navigate to the PipeCD setting page at http://localhost:8080/settings/piped?project=quickstart.
You will find the +ADD
button around the top left of this page, click there and insert information to register the piped
.
Click on the Save
button, and then you can see the piped-id and secret-key.
You need to copy two values, Piped Id
and Base64 Encoded Piped Key
, and fill in <COPIED_PIPED_ID>
and <COPIED_ENCODED_PIPED_KEY>
respectively this below command
$ curl -s https://raw.githubusercontent.com/pipe-cd/pipecd/master/quickstart/manifests/piped.yaml | \
sed -e 's/<YOUR_PIPED_ID>/<COPIED_PIPED_ID>/g' \
-e 's/<YOUR_PIPED_KEY_DATA>/<COPIED_ENCODED_PIPED_KEY>/g' | \
kubectl apply -n pipecd -f -
For more about Piped management, please check Managing Piped.
That’s all! You are ready to use PipeCD to manage your application’s deployment.
You can check the readiness of all PipeCD components via command
$ kubectl get pod -n pipecd
NAME READY STATUS RESTARTS AGE
pipecd-cache-56c7c65ddc-xqcst 1/1 Running 0 38m
pipecd-gateway-58589b55f9-9nbrv 1/1 Running 0 38m
pipecd-minio-677999d5bb-xnb78 1/1 Running 0 38m
pipecd-mysql-6fff49fbc7-hkvt4 1/1 Running 0 38m
pipecd-ops-779d6844db-nvbwn 1/1 Running 0 38m
pipecd-server-5769df7fcb-9hc45 1/1 Running 1 (38m ago) 38m
piped-8477b5d55d-74s5v 1/1 Running 0 97s
2. Deploy a Kubernetes application with PipeCD
Above is all that is necessary to set up your own PipeCD (both control plane and agent), let’s use the installed one to deploy your first Kubernetes application with PipeCD.
Navigate to the Applications
page, click on the +ADD
button on the top left corner.
Go to the ADD FROM SUGGESTIONS
tab, then select:
- Piped:
dev
(you just registered) - PlatformProvider:
kubernetes-default
You should see a lot of suggested applications. Select one of listed applications and click the SAVE
button to register.
After a bit, the first deployment is complete and will automatically sync the application to the state specified in the current Git commit.
For more about manage applications’ deployment with PipeCD, referrence to Managing application
3. Cleanup
When you’re finished experimenting with PipeCD quickstart mode, you can uninstall it using:
$ kubectl delete ns pipecd
What’s next?
To prepare your PipeCD for a production environment, please visit the Installation guideline. For guidelines to use PipeCD to deploy your application in daily usage, please visit the User guide docs.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.