7 Commits

Author SHA1 Message Date
ebbba235a1 fix links in readme 2019-01-30 00:01:09 -08:00
949119a0dd fix typos in installing instructions 2019-01-29 23:59:21 -08:00
e7cde484d5 add blog link to travis tba page 2019-01-29 23:57:58 -08:00
924b8a83f5 update kubernetes docs 2019-01-29 23:57:41 -08:00
06dfc9c901 Merge branch 'add-docs'
* add-docs: (21 commits)
  clarify gcp kubernetes guide
  add link to blog post to travis docs page
  clarify k8s minikube instructions
  update installation instructions to clarify and mention s3 buckets
  fix readme to match docs index - shorter and more succinct
  update documentation to mark unfinished TBA pages
  add complete and tested gcp instructions
  add shields for minikube, k8s, and ubuntu versions
  update comments in travis file, remove unnecessary redis image init
  add ubuntu shields
  add quickstart section to index
  fix url again
  use https address for submodule, for travis
  add custom css and images dir
  add requirements file for documentation building
  add travis tests page
  update gitignore for mkdocs
  add mkdocs-material-dib submodule
  removing kubernetes md files, moved to docs/
  add fleshed out docs
  ...
2019-01-29 23:50:43 -08:00
0b860534e2 clarify gcp kubernetes guide 2019-01-29 23:49:24 -08:00
31c31544ba add documentation pages (#4)
* add hallo werld for github pages

* add fleshed out docs

* removing kubernetes md files, moved to docs/

* add mkdocs-material-dib submodule

* update gitignore for mkdocs

* add travis tests page

* add requirements file for documentation building

* add custom css and images dir

* use https address for submodule, for travis

* fix url again

* add quickstart section to index

* add ubuntu shields

* update comments in travis file, remove unnecessary redis image init

* add shields for minikube, k8s, and ubuntu versions

* add complete and tested gcp instructions

* update documentation to mark unfinished TBA pages

* fix readme to match docs index - shorter and more succinct
2019-01-29 23:35:28 -08:00
4 changed files with 23 additions and 29 deletions

View File

@@ -25,8 +25,8 @@ k8s = kubernetes
byok8s is a command line utility that launches
a Snakemake workflow on an existing Kubernetes
cluster. This allows you to do something
like this (also see the [Installation](installing.md)
and [Quickstart](quickstart.md) guides in the
like this (also see the [Installation](docs/installing.md)
and [Quickstart](docs/quickstart.md) guides in the
documentation):
```
@@ -45,12 +45,8 @@ minikube stop
```
## Getting Up and Running
Snakemake workflows are provided via a Snakefile by
the user. Snakemake runs tasks on the Kubernetes (k8s)
cluster. The approach is for the user to provide
their own Kubernetes cluster (byok8s = Bring Your
See the [Quickstart Guide](quickstart.md) to get up and
See the [Quickstart Guide](docs/quickstart.md) to get up and
running with byok8s.
## How does byok8s work?
@@ -102,11 +98,11 @@ or Google Cloud.
But the compute nodes can also be virtual, which is where
[minikube](https://github.com/kubernetes/minikube) comes in. It creates a
kubernetes cluster that is entirely local and virtual, which makes testing
easy. See the [byok8s Minikube Guide](kubernetes_minikube.md) for details
easy. See the [byok8s Minikube Guide](docs/kubernetes_minikube.md) for details
about how to use minikube with byok8s.
The Travis CI tests also utilize minikube to run test workflows. See [byok8s
Travis Tests](travis_tests.md) for more information.
Travis Tests](docs/travis_tests.md) for more information.
## Cloud Providers
@@ -122,9 +118,8 @@ We have guides for the following:
| Cloud Provider | Kubernetes Service | Guide | State |
|-----------------------------|---------------------------------|-------------------------------------------------|------------|
| Minikube (on AWS EC2) | Minikube | [byok8s Minikube Guide](kubernetes_minikube.md) | Finished |
| Google Cloud Platform (GCP) | Google Container Engine (GKE) | [byok8s GCP GKE Guide](kubernetes_gcp.md) | Finished |
| Amazon Web Services (AWS) | Elastic Container Service (EKS) | [byok8s AWS EKS Guide](kubernetes_aws.md) | Unfinished |
| Digital Ocean (DO) | DO Kubernetes (DOK) | [byok8s DO DOK Guide](kubernetes_dok.md) | Unfinished |
| Minikube (on AWS EC2) | Minikube | [byok8s Minikube Guide](docs/kubernetes_minikube.md) | Finished |
| Google Cloud Platform (GCP) | Google Container Engine (GKE) | [byok8s GCP GKE Guide](docs/kubernetes_gcp.md) | Finished |
| Amazon Web Services (AWS) | Elastic Container Service (EKS) | [byok8s AWS EKS Guide](docs/kubernetes_aws.md) | Unfinished |
| Digital Ocean (DO) | DO Kubernetes (DOK) | [byok8s DO DOK Guide](docs/kubernetes_dok.md) | Unfinished |
Own Kubernetes).

View File

@@ -1,23 +1,18 @@
# Installing byok8s
byok8s requires two pieces of prerequisite software:
byok8s requires pieces of prerequisite software:
- python (conda)
- virtualenv (optional)
It also requires an AWS S3 bucket to be specified
(the bucket must exist and credentials to access it
must be provided via environment variables, see the
[Quickstart](quickstart.md)).
Additionally, if you are planning to run byok8s on
a local virtual kubernetes cluster, you must install:
- minikube
Otherwise, if you are planning on running byok8s on
remote kubernetes clusters provided by cloud providers,
you must install:
Otherwise, if you are planning on running byok8s on remote
kubernetes clusters provided by cloud providers
or etc., you must install:
- kubernetes, ***OR***
- a cloud provider command line tool (`gcloud`, `aws`)

View File

@@ -40,9 +40,9 @@ utility will let you know if it needs APIs enabled for actions. If it can't
enable the API for you, it will give you a direct link to the relevant Google
Cloud Console page.
## Google Kubernetes Engine
## Google Kubernetes Engine (GKE)
GKE uses Google Cloud compute nodes to run a kubernetes cluster
GKE uses GCP compute nodes to run a kubernetes cluster
on Google Cloud infrastructure. It automatically sets up the
cluster for you, and allows you to use `kubectl` and `gcloud` to
manage and interact with the remote cluster.
@@ -255,6 +255,9 @@ Events:
Normal Started 6s kubelet, gke-mycluster-default-pool-b44fa389-vh3x Started container
```
Congratulations! You've successfully run an executable Snakemake workflow
on a Google Cloud kubernetes cluster!
Delete the GKE cluster when you are done:
```

View File

@@ -81,6 +81,7 @@ To fix the problem with the DNS settings, we have to patch
the CoreDNS image being used by `kube-system`.
To do that, use the file
[`test/fixcoredns.yml`](https://github.com/charlesreid1/2019-snakemake-byok8s/blob/master/test/fixcoredns.yml)
[`test/fixcoredns.yml`](https://github.com/charlesreid1/2019-snakemake-byok8s/blob/master/test/fixcoredns.yml)
in this repository with `kubectl apply`:
```plain