Running Bitbucket Data Center on a Kubernetes cluster
Kubernetes とは?
Kubernetes (K8s) is a high-availability rapid deployment and container orchestration framework that allows you to easily manage and automate your deployments in one place. Because it makes heavy use of containers, your applications stay up-to-date with no downtime and always have safe and reliable access to the dependencies they require. Learn more on the official Kubernetes website
機能の仕組み
Kubernetes automates the management of containerized applications. It provides a centralized control plane to manage containers and the underlying infrastructure, automate scaling, rollouts and rollbacks, and more. The platform abstracts away the underlying infrastructure and provides a unified way of managing containers and applications, making it easier for developers to build, deploy, and run applications at scale.
Why Kubernetes?
Kubernetes は、次のような多くのメリットをもたらす強力なプラットフォームです。
Improved agility
簡素化された管理
Deployment automation
Automated operations for containers
Security enhancements
Accelerated upgrades and rollbacks
Better scalability and resiliency
On top of that, the ability to manage your infrastructure as code by using simple YAML files helps you reduce unnecessary resource consumption.
How does Atlassian integrate with Kubernetes?
ヘルム チャートで Kubernetes を管理する
To help you deploy our products, we’ve created Data Center Helm charts—customizable templates that can be configured to meet the unique needs of your business. You can even choose how to run them: either on your own hardware or on a cloud provider’s infrastructure. This allows you to stay in control of your data and meet your compliance needs while still using a more modern infrastructure. Helm charts have their own lifecycle, so updates contain certain features and are upgraded automatically.
Helm charts provide the essential building blocks needed to deploy Atlassian Data Center products (Jira, Confluence, Bitbucket, Bamboo, and Crowd) in Kubernetes clusters and give you the capability to integrate with your operation and automation tools. Learn more about Helm charts
Use Docker images for improved agility
To speed up development, you can take advantage of Data Center’s hardened Docker container images. Using our Docker container images as part of your Data Center deployment allows you to cut significant time by streamlining and automating workflows.
After defining your required configuration once, you can instantly deploy exact replicas of your environment from the command line at every stage of your deployment lifecycle, giving you the agility needed to keep valuable work moving forward, and the flexibility to accommodate your organization’s evolving development strategy over time.
Kubernetes のデプロイ アーキテクチャを学習する
Kubernetes クラスタは、Amazon EKS、Azure Kubernetes Service、Google Kubernetes Engine、またはカスタム オンプレミス システムなどの管理対象環境です。独自のハードウェアで Data Center インストールを行う場合と同じように、ユーザー管理、中央ログ ストレージ、バックアップ戦略、監視をセットアップすることを強くお勧めします。
Here's an architectural overview of what you'll get when deploying your Data Center application on a Kubernetes cluster using the Helm charts:
The following Kubernetes entities are required for product deployment:
Ingress and Ingress controller (ing)—the Ingress defines the rules for traffic routing, which indicate where a request will go in the Kubernetes cluster. The Ingress controller is the component responsible for fulfilling those rules.
Service (svc)—provides a single address for a set of pods to enable load-balancing between application nodes.
Pod—a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers. Pods are the smallest deployable units of computing that you can create and manage in Kubernetes.
StatefulSets (sts)—manages the deployment and scaling of a set of pods requiring persistent state.
PersistentVolume (pv)—a "physical" volume on the host machine that stores your persistent data.
PersistentVolumeClaim (pvc)—1 つの pod (場合によっては複数の pod) で使用される永続ボリューム (PV) を保有します。
StorageClass (sc)—provides a way for administrators to describe the "classes" of storage they offer.
Install your Data Center application on a Kubernetes cluster
Helm チャートを使用して Data Center アプリケーションを Kubernetes クラスターにインストールして操作するには、次の手順に従います。
前提条件のガイドを参考に、要件に従って環境を設定します。
インストール ガイドに記載されているインストール ステップを実行します。
操作ガイドを使用して、アプリケーションのアップグレード、クラスターの拡張、リソースの更新方法を学びます。