github.com/docker/compose-on-kubernetes@v0.5.0/docs/install-on-microk8s.md (about)

     1  # Install on MicroK8s
     2  
     3  ## Pre-requisites
     4  - [MicroK8s](https://microk8s.io/)
     5  - To install etcd using these instructions, you must have [Helm](https://helm.sh) in your client environment.
     6  - [Download the Compose on Kubernetes installer](https://github.com/docker/compose-on-kubernetes/releases).
     7  - Ensure storage and dns are enabled: `microk8s.enable storage dns`
     8  - `kubectl` availabe in path - if it's not already available it can be aliased from the snap with: `sudo snap alias microk8s.kubectl kubectl`.
     9  
    10  ## Create compose namespace
    11  
    12  - Confirm that MicroK8s is working with `microk8s.inspect`.
    13  - Create a compose namespace by running `microk8s.kubectl create namespace compose`.
    14  
    15  ## Populate Kubernetes Config
    16  
    17  If you do not already have a `~/.kube/config` file create it with `microk8s.kubectl config view --raw > ~/.kube/config`.
    18  
    19  ## Deploy etcd
    20  
    21  Compose on Kubernetes requires an etcd instance (in addition to the kube-system etcd instance). Please follow [How to deploy etcd](./deploy-etcd.md).
    22  
    23  ## Deploy Compose on Kubernetes
    24  
    25  Run `./installer-[darwin|linux|windows.exe] -namespace=compose -etcd-servers=http://compose-etcd-client:2379`.
    26  
    27  ## Deploy a stack in the cluster
    28  
    29  By now you should be able to [Check that Compose on Kubernetes is installed](../README.md#check-that-compose-on-kubernetes-is-installed):
    30  
    31  ```bash
    32  $ microk8s.kubectl api-versions | grep compose
    33  compose.docker.com/v1beta1
    34  compose.docker.com/v1beta2
    35  ```
    36  
    37  If the APIs are visible it should be possible to [Deploy a stack](../README.md#deploy-a-stack).
    38  
    39  If everything has worked the `web-published` service should be visible from `kubectl` e.g:
    40  
    41  ```
    42  $ kubectl get services
    43  NAME            TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)           AGE
    44  db              ClusterIP      None             <none>        55555/TCP         3m31s
    45  kubernetes      ClusterIP      10.152.183.1     <none>        443/TCP           33m
    46  web             ClusterIP      None             <none>        55555/TCP         3m31s
    47  web-published   LoadBalancer   10.152.183.180   <pending>     33000:30218/TCP   3m31s
    48  words           ClusterIP      None             <none>        55555/TCP         3m31s
    49  ```
    50  
    51  In this case it's possible to open <http://10.152.183.180:33000/> in the browser, but your Cluster IP will most likely be different.