Add tutorial: "Prepare production-ready environment", with everything charmed

Open
#73 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
38/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
kubernetes, shell

Research direction

Use the linked install-LXD and ceph-csi documentation as references, and inspect the repository's documentation structure to determine where this tutorial belongs. Validate the provided Juju, Kubernetes, LXD, and Ceph commands in sequence; done means the production-ready environment tutorial covers the proposed setup end to end.

Written by the indexing model from the issue text.

Description

Using ck8s 1.32 charm + virt-type=virtual-machine + ceph-csi.

Potential starting point:

sudo snap install juju --channel=3.6/stable
sudo sysctl -w fs.inotify.max_user_instances=1024
sudo sysctl -w fs.inotify.max_user_watches=1048576

# Disable IPv6
echo "net.ipv6.conf.all.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

lxd init --auto
juju bootstrap lxd
juju add-model ck8s

# https://documentation.ubuntu.com/canonical-kubernetes/latest/charm/howto/install/install-lxd/
juju deploy k8s --channel=1.33/beta --revision=1024 --constraints='cores=8 mem=16G root-disk=40G virt-type=virtual-machine'

# https://documentation.ubuntu.com/canonical-kubernetes/latest/charm/howto/ceph-csi/
juju deploy -n 1 ceph-mon \
    --constraints "cores=2 mem=4G root-disk=16G" \
    --config monitor-count=1 \
    --config expected-osd-count=1

juju deploy -n 1 ceph-osd \
    --constraints "cores=2 mem=4G root-disk=16G virt-type=virtual-machine" \
    --storage osd-devices=1G,1 --storage osd-journals=1G,1

juju integrate ceph-osd:mon ceph-mon:osd

CEPH_NS=ceph-ns  # kubernetes namespace for the ceph driver
juju deploy ceph-csi \
  --config provisioner-replicas=1 \
  --config namespace="${CEPH_NS}" \
  --config create-namespace=true
juju integrate ceph-csi k8s:ceph-k8s-info
juju integrate ceph-csi ceph-mon:client
Dominant language
HCL
Stars
9
Forks
12
Avg merge
1d 10h
Merged PRs (30d)
11

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from canonical/observability-stack

All issues in canonical/observability-stack

Similar issues

More Cloud issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.