From 0001c5df230a56493127050071f192a55771e4be Mon Sep 17 00:00:00 2001 From: Kevin Carter Date: Wed, 6 Mar 2024 18:57:31 -0600 Subject: [PATCH] feat: Break out additional docs Signed-off-by: Kevin Carter --- docs/k8s-dashboard.md | 13 + docs/{k8s-postdeploy.md => k8s-labels.md} | 33 +-- docs/k8s-taint.md | 11 + mkdocs.yml | 274 +++++++++++----------- 4 files changed, 169 insertions(+), 162 deletions(-) create mode 100644 docs/k8s-dashboard.md rename docs/{k8s-postdeploy.md => k8s-labels.md} (61%) create mode 100644 docs/k8s-taint.md diff --git a/docs/k8s-dashboard.md b/docs/k8s-dashboard.md new file mode 100644 index 00000000..b614791f --- /dev/null +++ b/docs/k8s-dashboard.md @@ -0,0 +1,13 @@ +# Deploy K8S Dashboard RBAC + +While the dashboard is installed you will have no ability to access it until we setup some basic RBAC. + +``` shell +kubectl apply -k /opt/genestack/kustomize/k8s-dashboard +``` + +You can now retrieve a permanent token. + +``` shell +kubectl get secret admin-user -n kube-system -o jsonpath={".data.token"} | base64 -d +``` diff --git a/docs/k8s-postdeploy.md b/docs/k8s-labels.md similarity index 61% rename from docs/k8s-postdeploy.md rename to docs/k8s-labels.md index 0cadaecf..75b64120 100644 --- a/docs/k8s-postdeploy.md +++ b/docs/k8s-labels.md @@ -1,33 +1,10 @@ -# Post deployment Operations +# Label all of the nodes in the environment -## Remove taint from our Controllers +To use the K8S environment for OpenStack all of the nodes MUST be labeled. The following Labels will be used within your environment. +Make sure you label things accordingly. -In an environment with a limited set of control plane nodes removing the NoSchedule will allow you to converge the -openstack controllers with the k8s controllers. - -``` shell -# Remote taint from control-plane nodes -kubectl taint nodes $(kubectl get nodes -o 'jsonpath={.items[*].metadata.name}') node-role.kubernetes.io/control-plane:NoSchedule- -``` - -## Optional - Deploy K8S Dashboard RBAC - -While the dashboard is installed you will have no ability to access it until we setup some basic RBAC. - -``` shell -kubectl apply -k /opt/genestack/kustomize/k8s-dashboard -``` - -You can now retrieve a permanent token. - -``` shell -kubectl get secret admin-user -n kube-system -o jsonpath={".data.token"} | base64 -d -``` - -## Label all of the nodes in the environment - -> The following example assumes the node names can be used to identify their purpose within our environment. That - may not be the case in reality. Adapt the following commands to meet your needs. +> The following example assumes the node names can be used to identify their purpose within our environment. + That may not be the case in reality. Adapt the following commands to meet your needs. ``` shell # Label the storage nodes - optional and only used when deploying ceph for K8S infrastructure shared storage diff --git a/docs/k8s-taint.md b/docs/k8s-taint.md new file mode 100644 index 00000000..de7ea922 --- /dev/null +++ b/docs/k8s-taint.md @@ -0,0 +1,11 @@ +# Post deployment Operations + +## Remove taint from our Controllers + +In an environment with a limited set of control plane nodes removing the NoSchedule will allow you to converge the +openstack controllers with the k8s controllers. + +``` shell +# Remote taint from control-plane nodes +kubectl taint nodes $(kubectl get nodes -o 'jsonpath={.items[*].metadata.name}') node-role.kubernetes.io/control-plane:NoSchedule- +``` diff --git a/mkdocs.yml b/mkdocs.yml index 517f125b..5474238a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,79 +1,79 @@ --- site_name: Genestack site_description: >- - Genestack — by Rackspace, where Kubernetes and OpenStack tango in the cloud. Imagine a waltz between systems that deploy what you need. + Genestack — by Rackspace, where Kubernetes and OpenStack tango in the cloud. Imagine a waltz between systems that deploy what you need. theme: - name: material - logo: assets/images/genestack.svg - favicon: assets/images/favicon.ico - palette: - - media: "(prefers-color-scheme: light)" - scheme: default - toggle: - icon: material/brightness-7 - name: Switch to dark mode - - media: "(prefers-color-scheme: dark)" - scheme: slate - toggle: - icon: material/brightness-4 - name: Switch to light mode + name: material + logo: assets/images/genestack.svg + favicon: assets/images/favicon.ico + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to light mode - features: - - announce.dismiss - - content.action.edit - - content.code.annotate - - content.code.copy - # - content.tabs.link - - content.tooltips - # - header.autohide - # - navigation.expand - - navigation.footer - - navigation.indexes - - navigation.instant - # - navigation.prune - - navigation.sections - - navigation.tabs - - navigation.tabs.sticky - - navigation.top - - navigation.tracking - - search.highlight - - search.share - - search.suggest - - toc.follow + features: + - announce.dismiss + - content.action.edit + - content.code.annotate + - content.code.copy + # - content.tabs.link + - content.tooltips + # - header.autohide + # - navigation.expand + - navigation.footer + - navigation.indexes + - navigation.instant + # - navigation.prune + - navigation.sections + - navigation.tabs + - navigation.tabs.sticky + - navigation.top + - navigation.tracking + - search.highlight + - search.share + - search.suggest + - toc.follow extra_css: - - stylesheets/adr.css + - stylesheets/adr.css plugins: - # - blog - - search - - swagger-ui-tag - - mkdocs-material-adr/adr - - glightbox + # - blog + - search + - swagger-ui-tag + - mkdocs-material-adr/adr + - glightbox markdown_extensions: - - admonition - - attr_list - - def_list - - pymdownx.tasklist: - custom_checkbox: true - - pymdownx.superfences: - custom_fences: - - name: python - class: python - validator: !!python/name:markdown_exec.validator - format: !!python/name:markdown_exec.formatter - - name: mermaid - class: mermaid - format: !!python/name:pymdownx.superfences.fence_code_format - - pymdownx.emoji: - emoji_index: !!python/name:material.extensions.emoji.twemoji - emoji_generator: !!python/name:material.extensions.emoji.to_svg - - pymdownx.highlight: - anchor_linenums: true - line_spans: __span - pygments_lang_class: true + - admonition + - attr_list + - def_list + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.superfences: + custom_fences: + - name: python + class: python + validator: !!python/name:markdown_exec.validator + format: !!python/name:markdown_exec.formatter + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true repo_name: rackerlabs/genestack repo_url: https://github.com/rackerlabs/genestack @@ -81,74 +81,80 @@ dev_addr: "127.0.0.1:8001" edit_uri: "edit/main/docs" nav: - - Welcome: index.md - - Components: components.md - - Quickstart: - - Building Virtual Environments: build-test-envs.md - - Simple Setup: quickstart.md - - Deployment Guide: - - Getting Started: genestack-getting-started.md - - Building the Cloud: - - Kubernetes: - - K8s Overview: k8s-overview.md - - Kubespray: k8s-kubespray.md - - Post Deployment: k8s-postdeploy.md - - Upgrade: k8s-kubespray-upgrade.md - - Retrieve kube config: k8s-config.md - - Storage: - - Storage Overview: storage-overview.md - - Ceph Internal: storage-ceph-rook-internal.md - - Ceph External: storage-ceph-rook-external.md - - NFS External: storage-nfs-external.md - - TopoLVM: storage-topolvm.md - - Monitoring: - - Monitoring Overview: prometheus.md - - Secrets: - - Vault Overview: vault.md - - Vault Operator: vault-secrets-operator.md - - Infrastructure: - - Infrastructure Overview: infrastructure-overview.md - - Namespace: infrastructure-namespace.md - - Ingress: infrastructure-ingress.md - - MariaDB: - - MariaDB Overview: infrastructure-mariadb.md - - MySQL Exporter: prometheus-mysql-exporter.md - - Connecting to the Database: infrastructure-mariadb-connect.md - - PostgreSQL: infrastructure-postgresql.md - - RabbitMQ: infrastructure-rabbitmq.md - - Memcached: infrastructure-memcached.md - - Libvirt: infrastructure-libvirt.md - - OVN: - - OVN Overview: infrastructure-ovn.md - - Setup: infrastructure-ovn-setup.md - - Database Backup: infrastructure-ovn-db-backup.md - - MetalLB: infrastructure-metallb.md - - RabbitMQ Exporter: prometheus-rabbitmq-exporter.md - - OpenStack: - - OpenStack Overview: openstack-overview.md - - Prepare OpenStack: openstack-helm-make.md - - OpenStack Services: - - Keystone: - - Keystone Overview: openstack-keystone.md - - Federation: openstack-keystone-federation.md - - Glance: - - Glance Overview: openstack-glance.md - - Images: openstack-glance-images.md - - Heat: openstack-heat.md - - Cinder: openstack-cinder.md - - Compute Kit: - - Compute Kit Overview: openstack-compute-kit.md - - Flavors: openstack-flavors.md + - Welcome: index.md + - Components: components.md + - Quickstart: + - Building Virtual Environments: build-test-envs.md + - Simple Setup: quickstart.md + - Deployment Guide: + - Getting Started: genestack-getting-started.md + - Building the Cloud: + - Kubernetes: + - K8s Overview: k8s-overview.md + - Providers: + - Kubespray: k8s-kubespray.md + - Post Deployment: + - Kubernetes Labels: k8s-labels.md + - Kubernetes Dashboard: k8s-dashboard.md + - Kubernetes Taint: k8s-taint.md + - Retrieve kube config: k8s-config.md + - Storage: + - Storage Overview: storage-overview.md + - Ceph Internal: storage-ceph-rook-internal.md + - Ceph External: storage-ceph-rook-external.md + - NFS External: storage-nfs-external.md + - TopoLVM: storage-topolvm.md + - Monitoring: + - Monitoring Overview: prometheus.md + - Secrets: + - Vault Overview: vault.md + - Vault Operator: vault-secrets-operator.md + - Infrastructure: + - Infrastructure Overview: infrastructure-overview.md + - Namespace: infrastructure-namespace.md + - Ingress: infrastructure-ingress.md + - MariaDB: + - MariaDB Deployment: infrastructure-mariadb.md + - MySQL Exporter: prometheus-mysql-exporter.md + - PostgreSQL: infrastructure-postgresql.md + - RabbitMQ: infrastructure-rabbitmq.md + - Memcached: infrastructure-memcached.md + - Libvirt: infrastructure-libvirt.md + - OVN: + - OVN Overview: infrastructure-ovn.md + - OVN Setup: infrastructure-ovn-setup.md + - MetalLB: infrastructure-metallb.md + - RabbitMQ Exporter: prometheus-rabbitmq-exporter.md + - OpenStack: + - OpenStack Overview: openstack-overview.md + - OpenStack Preparations: openstack-helm-make.md + - OpenStack Services: + - Keystone: + - Keystone Deployment: openstack-keystone.md + - Federation: openstack-keystone-federation.md + - Glance: + - Glance Deployment: openstack-glance.md + - Images: openstack-glance-images.md + - Heat: openstack-heat.md + - Cinder: openstack-cinder.md + - Compute Kit: + - Compute Kit Deployment: openstack-compute-kit.md + - Flavors: openstack-flavors.md + - Dashboard: + - Horizon: openstack-horizon.md + - skyline: openstack-skyline.md + - Octavia: openstack-octavia.md + - Gnocchi: openstack-gnocchi.md + - Openstack Exporter: prometheus-openstack-metrics-exporter.md + - Operational Guide: + - Running Genestack Upgrade: genestack-upgrade.md + - Running Kubespray Upgrade: k8s-kubespray-upgrade.md + - Infrastructure: + - OVN Database Backup: infrastructure-ovn-db-backup.md + - Connecting to MySQL: infrastructure-mariadb-connect.md + - OpenStack: + - Generating Clouds YAML: openstack-clouds.md - Creating Networks: openstack-neutron-networks.md - - Dashboard: - - Horizon: openstack-horizon.md - - skyline: openstack-skyline.md - - Octavia: openstack-octavia.md - - Gnocchi: openstack-gnocchi.md - - Openstack Exporter: prometheus-openstack-metrics-exporter.md - - OpenStack Clouds YAML: openstack-clouds.md - - Operational Guide: - - Building Local Images: build-local-images.md - - Running Genestack Upgrade: genestack-upgrade.md - - Third Party Tools: - - OSIE: extra-osie.md + - Building Local Images: build-local-images.md + - Third Party Tools: + - OSIE: extra-osie.md