{"id":954,"date":"2020-12-17T00:00:00","date_gmt":"2020-12-17T00:00:00","guid":{"rendered":"https:\/\/en.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/"},"modified":"2025-11-14T02:12:39","modified_gmt":"2025-11-14T10:12:39","slug":"release-a-cloud-native-distributed-database-on-kubesphere-app-store","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/","title":{"rendered":"TiDB on KubeSphere: Release a Cloud-Native Distributed Database to the KubeSphere App Store"},"content":{"rendered":"<p>KubeSphere, an open-source, distributed operating system with Kubernetes as its kernel, helps you manage cloud-native applications on a GUI container platform. <a href=\"\/ko\/tidb\/\">\ud2f0DB<\/a> is an open-source, <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/cloud\/\">cloud-native database<\/a> that runs smoothly on Kubernetes.<\/p>\n\n\n\n<p>In <a href=\"\/ko\/blog\/run-cloud-native-distributed-database-on-hybrid-cloud-kubernetes-platform\/\">my last blog post<\/a>, I talked about how to deploy TiDB on KubeSphere. If you want TiDB to be available to tenants across the workspace, you can release the TiDB app to the KubeSphere public repository, also known as the KubeSphere App Store. In this way, all tenants can easily deploy TiDB in their project, without having to repeat the same steps.<\/p>\n\n\n\n<p>In this article, I will walk you through how to deploy TiDB on KubeSphere by app templates and release TiDB to the App Store.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Prerequisites\"><\/span>Prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Before you try the steps in this post, make sure:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You have <a href=\"https:\/\/kubesphere.io\/blogs\/tidb-on-kubesphere-using-qke\/#preparing-environments\">prepared the environment with KubeSphere installed<\/a>.<\/li>\n\n\n\n<li>You have <a href=\"https:\/\/kubesphere.io\/docs\/pluggable-components\/app-store\/\">enabled the KubeSphere App Store<\/a>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Prepare_TiDB_Helm_Charts\"><\/span>Prepare TiDB Helm Charts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To deploy TiDB on KubeSphere, you need TiDB <a href=\"https:\/\/helm.sh\/\">Helm<\/a> charts. Helm helps you create, install, and manage Kubernetes applications. A Helm chart contains files that describe the necessary collection of Kubernetes resources. In this section, I&#8217;ll demonstrate how to download the required Helm charts and upload them to KubeSphere.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Download TiDB Helm Charts<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install Helm. Based on your operating system and tools, there are several ways to install Helm. For detailed information, see <a href=\"https:\/\/helm.sh\/docs\/intro\/install\/\">the Helm documentation<\/a>. The simplest to install Helm is to execute the following command directly:<br><p>{{&lt; copyable &#8220;shell-regular&#8221; &gt;}}<\/p><br><pre><code class=\"language-shell\">curl https:\/\/raw.githubusercontent.com\/helm\/helm\/master\/scripts\/get-helm-3 | bash<br><\/code><\/pre><br><\/li>\n\n\n\n<li>Add the PingCAP TiDB Helm repository:<br><p>{{&lt; copyable &#8220;shell-regular&#8221; &gt;}}<\/p><br><pre><code class=\"language-shell\">helm repo add pingcap https:\/\/charts.pingcap.org\/<br><\/code><\/pre><br><\/li>\n\n\n\n<li>View all the Helm charts in this repository:<br><pre><code class=\"language-shell\">$ helm search repo pingcap --version=v1.1.6<br><br>NAME                    CHART VERSION   APP VERSION     DESCRIPTION<br>pingcap\/tidb-backup     v1.1.6                          A Helm chart for TiDB Backup or Restore<br>pingcap\/tidb-cluster    v1.1.6                          A Helm chart for TiDB Cluster<br>pingcap\/tidb-drainer    v1.1.6                          A Helm chart for TiDB Binlog drainer.<br>pingcap\/tidb-lightning  v1.1.6                          A Helm chart for TiDB Lightning<br>pingcap\/tidb-operator   v1.1.6          v1.1.6          tidb-operator Helm chart for Kubernetes<br>pingcap\/tikv-importer   release-1.1                     A Helm chart for TiKV Importer<br><\/code><\/pre><br><p>Note that in this article, I use v1.1.6 charts. You can also get <a href=\"https:\/\/github.com\/pingcap\/tidb-operator\/releases\">the latest version<\/a> released by PingCAP.<\/p><br><\/li>\n\n\n\n<li>Download the charts you need. For example:<br><p>{{&lt; copyable &#8220;shell-regular&#8221; &gt;}}<\/p><br><pre><code class=\"language-shell\">helm pull pingcap\/tidb-operator --version=v1.1.6 &amp;&amp;<br>helm pull pingcap\/tidb-cluster --version=v1.1.6<br><\/code><\/pre><br><\/li>\n\n\n\n<li>Make sure they have been successfully pulled:<br><pre><code class=\"language-shell\">$ ls | grep tidb<br><br>tidb-cluster-v1.1.6.tgz<br>tidb-operator-v1.1.6.tgz<br><\/code><\/pre><br><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Upload Helm charts to KubeSphere<\/h3>\n\n\n\n<p>Now that you have Helm charts ready, you can upload them to KubeSphere as app templates.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to the KubeSphere web console and create a workspace.<br><ol><br><li>In the upper left corner of the current page, click <strong>Platform<\/strong> to display the <strong>Access Control<\/strong> page.<\/li><br><li>In <strong>Workspaces<\/strong>, click <strong>Create<\/strong> to create a new workspace and give it a name; for example, <code>dev-workspace<\/code> as shown below.<\/li><br><\/ol><br><img decoding=\"async\" src=\"https:\/\/static.pingcap.com\/files\/2024\/05\/17232458\/tidb-in-kubesphere-2-create-dev-workspace.png\" alt=\"Create a dev workspace\"><br><\/li>\n\n\n\n<li>Go to your workspace. From the navigation bar, select <strong>App Templates<\/strong>, and, on the right, click <strong>Upload Template<\/strong>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1383\" height=\"823\" class=\"wp-image-955\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-select-app-templates.png\" alt=\"Select App Templates\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-app-templates.png 1383w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-app-templates-300x179.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-app-templates-1024x609.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-app-templates-768x457.png 768w\" sizes=\"auto, (max-width: 1383px) 100vw, 1383px\" \/><\/figure><br><p><a href=\"https:\/\/www.pingcap.com\/ko\/blog\/run-cloud-native-distributed-database-on-hybrid-cloud-kubernetes-platform\/\">My last blog post<\/a> explained how to deploy TiDB using an app repository. This time, let&#8217;s upload Helm charts as app templates.<\/p><br><\/li>\n\n\n\n<li>Select the Helm charts you want to upload to KubeSphere. After they are successfully uploaded, they appear in the list below.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1466\" height=\"840\" class=\"wp-image-956\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-upload-app-templates.png\" alt=\"Upload App Templates\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-upload-app-templates.png 1466w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-upload-app-templates-300x172.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-upload-app-templates-1024x587.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-upload-app-templates-768x440.png 768w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-upload-app-templates-1440x825.png 1440w\" sizes=\"auto, (max-width: 1466px) 100vw, 1466px\" \/><\/figure><br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Deploy_TiDB_Operator_and_a_TiDB_cluster\"><\/span>Deploy TiDB Operator and a TiDB cluster<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>To deploy TiDB, you need to <a href=\"https:\/\/kubesphere.io\/docs\/quick-start\/create-workspace-and-project\/#task-3-create-a-project\">create a project<\/a> (also known as a namespace) where all workloads of an app run.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1294\" height=\"677\" class=\"wp-image-957\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-create-a-project.png\" alt=\"Create a project\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-create-a-project.png 1294w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-create-a-project-300x157.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-create-a-project-1024x536.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-create-a-project-768x402.png 768w\" sizes=\"auto, (max-width: 1294px) 100vw, 1294px\" \/><\/figure><br><\/li>\n\n\n\n<li>After you create the project, navigate to <strong>Applications<\/strong> and click <strong>Deploy New Application<\/strong>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1287\" height=\"672\" class=\"wp-image-958\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-deploy-new-application.png\" alt=\"Deploy new applications\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-deploy-new-application.png 1287w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-deploy-new-application-300x157.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-deploy-new-application-1024x535.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-deploy-new-application-768x401.png 768w\" sizes=\"auto, (max-width: 1287px) 100vw, 1287px\" \/><\/figure><br><\/li>\n\n\n\n<li>In the <strong>Deploy New Application<\/strong> dialog box, select <strong>From App Templates<\/strong>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1282\" height=\"675\" class=\"wp-image-959\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-from-app-templates.png\" alt=\"From App Templates\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-from-app-templates.png 1282w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-from-app-templates-300x158.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-from-app-templates-1024x539.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-from-app-templates-768x404.png 768w\" sizes=\"auto, (max-width: 1282px) 100vw, 1282px\" \/><\/figure><br><\/li>\n\n\n\n<li>Deploy TiDB Operator and the TiDB cluster. In the drop-down list, select <strong>From workspace<\/strong> and click <strong>tidb-cluster<\/strong> \uadf8\ub9ac\uace0 <strong>tidb-operator<\/strong> respectively to deploy them. For more information about how to configure them, see <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/run-cloud-native-distributed-database-on-hybrid-cloud-kubernetes-platform\/\">my last post<\/a>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1228\" height=\"819\" class=\"wp-image-960\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-deploy-tidb.png\" alt=\"Deploy TiDB\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-deploy-tidb.png 1228w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-deploy-tidb-300x200.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-deploy-tidb-1024x683.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-deploy-tidb-768x512.png 768w\" sizes=\"auto, (max-width: 1228px) 100vw, 1228px\" \/><\/figure><br><p>All Helm charts uploaded individually as app templates appear on the <strong>From workspace<\/strong> page. If you add an app repository to KubeSphere to provide app templates, they display in other repositories in the drop-down list.<\/p><br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Release_TiDB_to_the_App_Store\"><\/span>Release TiDB to the App Store<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/kubesphere.io\/docs\/project-user-guide\/application\/app-template\/\">App templates<\/a> enable you to deploy and manage apps in a visual way. Internally, they play an important role as shared resources. Enterprises create these resources\u2014which include databases, middleware, and operating systems\u2014for the coordination and cooperation within teams.<\/p>\n\n\n\n<p>You can release apps you have uploaded to KubeSphere to the public repository, also known as the App Store. In this way, all tenants on the platform can deploy these apps if they have the necessary permissions, regardless of the workspace they belong to.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In the top left corner, click <strong>Platform<\/strong> and select <strong>Access Control<\/strong>.<\/li>\n\n\n\n<li>On the <strong>Workspaces<\/strong> page, click the workspace where you uploaded the Helm charts.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1428\" height=\"810\" class=\"wp-image-961\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-select-workspace.png\" alt=\"Select workspace\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-workspace.png 1428w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-workspace-300x170.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-workspace-1024x581.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-workspace-768x436.png 768w\" sizes=\"auto, (max-width: 1428px) 100vw, 1428px\" \/><\/figure><br><\/li>\n\n\n\n<li>From the navigation bar, click <strong>App Templates<\/strong>, and you can see the uploaded apps. To release it to the App Store, click <code>tidb-operator<\/code>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1334\" height=\"814\" class=\"wp-image-962\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-click-tidb-operator.png\" alt=\"Click tidb-operator\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-click-tidb-operator.png 1334w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-click-tidb-operator-300x183.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-click-tidb-operator-1024x625.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-click-tidb-operator-768x469.png 768w\" sizes=\"auto, (max-width: 1334px) 100vw, 1334px\" \/><\/figure><br><\/li>\n\n\n\n<li>On the <strong>Versions<\/strong> page, click the version number to expand the menu and click <strong>Submit Review<\/strong>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1323\" height=\"806\" class=\"wp-image-963\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-submit-review.png\" alt=\"Submit Review\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-submit-review.png 1323w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-submit-review-300x183.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-submit-review-1024x624.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-submit-review-768x468.png 768w\" sizes=\"auto, (max-width: 1323px) 100vw, 1323px\" \/><\/figure><br><p>KubeSphere allows you to manage an app across its entire lifecycle, including deleting the version, testing the deployment, or submitting the App for review. For an enterprise, this is very useful when different tenants need to be isolated from each other and are only responsible for their own part of the life cycle as they manage an app version.<\/p><br><\/li>\n\n\n\n<li>Approve the app submitted for review. In the top left corner, click <strong>Platform<\/strong> and select <strong>App Store Management<\/strong>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1322\" height=\"808\" class=\"wp-image-964\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-app-store-management.png\" alt=\"App Store Management\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-app-store-management.png 1322w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-app-store-management-300x183.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-app-store-management-1024x626.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-app-store-management-768x469.png 768w\" sizes=\"auto, (max-width: 1322px) 100vw, 1322px\" \/><\/figure><br><\/li>\n\n\n\n<li>In the <strong>App Reviews<\/strong> page, click the app you just submitted.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1331\" height=\"806\" class=\"wp-image-965\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-app-reviews.png\" alt=\"App Reviews\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-app-reviews.png 1331w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-app-reviews-300x182.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-app-reviews-1024x620.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-app-reviews-768x465.png 768w\" sizes=\"auto, (max-width: 1331px) 100vw, 1331px\" \/><\/figure><br><\/li>\n\n\n\n<li>In the <strong>App Info<\/strong> page that appears, review the app information and chart files. To approve the app, click <strong>Pass<\/strong>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1331\" height=\"810\" class=\"wp-image-966\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-approve-app.png\" alt=\"Approve the app\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-approve-app.png 1331w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-approve-app-300x183.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-approve-app-1024x623.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-approve-app-768x467.png 768w\" sizes=\"auto, (max-width: 1331px) 100vw, 1331px\" \/><\/figure><br><\/li>\n\n\n\n<li>After the app is approved, you can release it to the App Store. In the top left corner, click <strong>Platform<\/strong> and select <strong>Access Control<\/strong>.<\/li>\n\n\n\n<li>Go back to your workspace. From the navigation bar, select <strong>App Templates<\/strong> and click <strong>tidb-operator<\/strong>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1325\" height=\"807\" class=\"wp-image-967\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-select-app-templates-2.png\" alt=\"Select App Templates\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-app-templates-2.png 1325w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-app-templates-2-300x183.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-app-templates-2-1024x624.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-select-app-templates-2-768x468.png 768w\" sizes=\"auto, (max-width: 1325px) 100vw, 1325px\" \/><\/figure><br><\/li>\n\n\n\n<li>On the <strong>Versions<\/strong> page, click the version number again, and you can see that the status has reached <strong>Passed<\/strong>. The <strong>Submit Review<\/strong> button has changed to <strong>Release to Store<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Release to Store<\/strong>, and in the confirmation box, click <strong>\uc88b\uc544\uc694<\/strong>.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1326\" height=\"805\" class=\"wp-image-968\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-release-to-store.png\" alt=\"Release to store\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-release-to-store.png 1326w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-release-to-store-300x182.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-release-to-store-1024x622.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-release-to-store-768x466.png 768w\" sizes=\"auto, (max-width: 1326px) 100vw, 1326px\" \/><\/figure><br><\/li>\n\n\n\n<li>To view the app released, in the top left corner, click <strong>App Store<\/strong>, and you can see it in the App Store. Likewise, you can use the same steps to deploy <strong>tidb-cluster<\/strong> to the App Store.<br><figure><img loading=\"lazy\" decoding=\"async\" width=\"1324\" height=\"805\" class=\"wp-image-969\" src=\"https:\/\/en.pingcap.com\/wp-content\/uploads\/2020\/12\/tidb-in-kubesphere-2-view-app-store.png\" alt=\"View App Store\" srcset=\"https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-view-app-store.png 1324w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-view-app-store-300x182.png 300w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-view-app-store-1024x623.png 1024w, https:\/\/static.pingcap.com\/files\/2020\/12\/tidb-in-kubesphere-2-view-app-store-768x467.png 768w\" sizes=\"auto, (max-width: 1324px) 100vw, 1324px\" \/><\/figure><br><\/li>\n<\/ol>\n\n\n\n<p>For more information about how to deploy an app from the App Store, see the <a href=\"https:\/\/kubesphere.io\/docs\/project-user-guide\/application\/deploy-app-from-appstore\/\">KubeSphere documentation<\/a>. You can also see <a href=\"https:\/\/kubesphere.io\/docs\/application-store\/app-lifecycle-management\/\">Application Lifecycle Management<\/a> to learn more about how an app is managed across its entire lifecycle.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Both TiDB and KubeSphere are powerful tools for us as we deploy containerized applications and use the distributed database on the cloud. As a big fan of open source, I hope both groups can continue to deliver efficient and effective cloud-native tools for us in production.<\/p>\n\n\n\n<p>If you have any questions, don&#8217;t hesitate to contact us in <a href=\"https:\/\/join.slack.com\/t\/kubesphere\/shared_invite\/enQtNTE3MDIxNzUxNzQ0LTZkNTdkYWNiYTVkMTM5ZThhODY1MjAyZmVlYWEwZmQ3ODQ1NmM1MGVkNWEzZTRhNzk0MzM5MmY4NDc3ZWVhMjE\">Slack<\/a> \ub610\ub294 <a href=\"https:\/\/github.com\/kubesphere\">GitHub<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"References\"><\/span>References<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/kubesphere\/kubesphere\">KubeSphere GitHub<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/kubesphere.io\/docs\/\">KubeSphere Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/pingcap\/TiDB\">TiDB GitHub<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.pingcap.com\/tidb-in-kubernetes\/stable\/tidb-operator-overview\">TiDB Operator Documentation<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>This article walks you through how to deploy TiDB on KubeSphere and release TiDB to the App Store to make it available to other tenants.<\/p>","protected":false},"author":105,"featured_media":971,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[18],"tags":[85,33,84,29],"class_list":["post-954","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-community","tag-cloud-native","tag-kubernetes","tag-tidb-operator","tag-tutorial"],"acf":[],"featured_image_src":"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg","author_info":{"display_name":"Will Zhang","author_link":"https:\/\/www.pingcap.com\/ko\/blog\/author\/will-zhang\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TiDB on KubeSphere: Release TiDB to the KubeSphere App Store<\/title>\n<meta name=\"description\" content=\"In this article, we will walk you through how to deploy TiDB on KubeSphere by app templates and release TiDB to the App Store.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TiDB on KubeSphere: Release TiDB to the KubeSphere App Store\" \/>\n<meta property=\"og:description\" content=\"In this article, we will walk you through how to deploy TiDB on KubeSphere by app templates and release TiDB to the App Store.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-17T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-14T10:12:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1500\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Will Zhang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Will Zhang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/\"},\"author\":{\"name\":\"Will Zhang\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/f4893d94833b4d28aaeebc74010deb8b\"},\"headline\":\"TiDB on KubeSphere: Release a Cloud-Native Distributed Database to the KubeSphere App Store\",\"datePublished\":\"2020-12-17T00:00:00+00:00\",\"dateModified\":\"2025-11-14T10:12:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/\"},\"wordCount\":1046,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg\",\"keywords\":[\"Cloud-native\",\"Kubernetes\",\"TiDB Operator\",\"Tutorial\"],\"articleSection\":[\"Community\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/\",\"name\":\"TiDB on KubeSphere: Release TiDB to the KubeSphere App Store\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg\",\"datePublished\":\"2020-12-17T00:00:00+00:00\",\"dateModified\":\"2025-11-14T10:12:39+00:00\",\"description\":\"In this article, we will walk you through how to deploy TiDB on KubeSphere by app templates and release TiDB to the App Store.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg\",\"width\":1500,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TiDB on KubeSphere: Release a Cloud-Native Distributed Database to the KubeSphere App Store\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pingcap.com\/#website\",\"url\":\"https:\/\/www.pingcap.com\/\",\"name\":\"TiDB\",\"description\":\"TiDB | SQL at Scale\",\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pingcap.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pingcap.com\/#organization\",\"name\":\"PingCAP\",\"url\":\"https:\/\/www.pingcap.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"width\":811,\"height\":232,\"caption\":\"PingCAP\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/pingcap2015\",\"https:\/\/x.com\/PingCAP\",\"https:\/\/linkedin.com\/company\/pingcap\",\"https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/f4893d94833b4d28aaeebc74010deb8b\",\"name\":\"Will Zhang\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg\",\"caption\":\"Will Zhang\"},\"description\":\"SRE at iSoftStone\",\"url\":\"https:\/\/www.pingcap.com\/ko\/blog\/author\/will-zhang\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TiDB on KubeSphere: Release TiDB to the KubeSphere App Store","description":"In this article, we will walk you through how to deploy TiDB on KubeSphere by app templates and release TiDB to the App Store.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pingcap.com\/ko\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/","og_locale":"ko_KR","og_type":"article","og_title":"TiDB on KubeSphere: Release TiDB to the KubeSphere App Store","og_description":"In this article, we will walk you through how to deploy TiDB on KubeSphere by app templates and release TiDB to the App Store.","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2020-12-17T00:00:00+00:00","article_modified_time":"2025-11-14T10:12:39+00:00","og_image":[{"width":1500,"height":500,"url":"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg","type":"image\/jpeg"}],"author":"Will Zhang","twitter_card":"summary_large_image","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"Will Zhang","Est. reading time":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/"},"author":{"name":"Will Zhang","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/f4893d94833b4d28aaeebc74010deb8b"},"headline":"TiDB on KubeSphere: Release a Cloud-Native Distributed Database to the KubeSphere App Store","datePublished":"2020-12-17T00:00:00+00:00","dateModified":"2025-11-14T10:12:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/"},"wordCount":1046,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg","keywords":["Cloud-native","Kubernetes","TiDB Operator","Tutorial"],"articleSection":["Community"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/","url":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/","name":"TiDB on KubeSphere: Release TiDB to the KubeSphere App Store","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg","datePublished":"2020-12-17T00:00:00+00:00","dateModified":"2025-11-14T10:12:39+00:00","description":"In this article, we will walk you through how to deploy TiDB on KubeSphere by app templates and release TiDB to the App Store.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg","contentUrl":"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg","width":1500,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"TiDB on KubeSphere: Release a Cloud-Native Distributed Database to the KubeSphere App Store"}]},{"@type":"WebSite","@id":"https:\/\/www.pingcap.com\/#website","url":"https:\/\/www.pingcap.com\/","name":"\ud2f0DB","description":"TiDB | SQL at Scale","publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pingcap.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.pingcap.com\/#organization","name":"PingCAP","url":"https:\/\/www.pingcap.com\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/","url":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","width":811,"height":232,"caption":"PingCAP"},"image":{"@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/pingcap2015","https:\/\/x.com\/PingCAP","https:\/\/linkedin.com\/company\/pingcap","https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA"]},{"@type":"Person","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/f4893d94833b4d28aaeebc74010deb8b","name":"Will Zhang","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/","url":"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","contentUrl":"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","caption":"Will Zhang"},"description":"SRE at iSoftStone","url":"https:\/\/www.pingcap.com\/ko\/blog\/author\/will-zhang\/"}]}},"grav_blocks":false,"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/release-a-cloud-native-distributed-database-on-kubesphere-app-store\/\"><div class=\"card-resource__image-container\"><img class=\"card-resource__image\" alt=\"release-cloud-native-distributed-database-to-kubesphere-app-store.jpg\" src=\"https:\/\/static.pingcap.com\/files\/2020\/12\/release-cloud-native-distributed-database-to-kubesphere-app-store.jpg\" loading=\"lazy\" width=1500 height=500 \/><\/div><div class=\"card-resource__content-container\"><div class=\"card-resource__content-head\"><div class=\"card-resource__category\">Community<\/div><\/div><h5 class=\"card-resource__title\">TiDB on KubeSphere: Release a Cloud-Native Distributed Database to the KubeSphere App Store<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/105"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/comments?post=954"}],"version-history":[{"count":5,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/954\/revisions"}],"predecessor-version":[{"id":30498,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/954\/revisions\/30498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media\/971"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}