This post will run you through how to setup an environment Atomic apps on CentOS 7, by hand. For quickstart, you can just run the Vagrantfile at here.

Setup

Install dependencies

# yum install docker atomic kubernetes etcd

Configure docker storage pool

Assuming that you have a new volume: /dev/vdb attached to your machine, configure /etc/sysconfig/docker-storage-setup as below:

# cat <<EOF > /etc/sysconfig/docker-storage-setup
DEVS=/dev/vdb
VG=docker-vg
EOF

Start and enable Docker

# systemctl start docker
# systemctl enable docker

You can run # docker info to check the new specs for docker storage pool.

Configure service account key for Kubernetes

# mkdir /etc/pki/kube-apiserver
# openssl genrsa -out /etc/pki/kube-apiserver/serviceaccount.key 2048
# sed -i.back '/KUBE_API_ARGS=*/c\KUBE_API_ARGS="--service_account_key_file=/etc/pki/kube-apiserver/serviceaccount.key"' /etc/kubernetes/apiserver
# sed -i.back '/KUBE_CONTROLLER_MANAGER_ARGS=*/c\KUBE_CONTROLLER_MANAGER_ARGS="--service_account_private_key_file=/etc/pki/kube-apiserver/serviceaccount.key"' /etc/kubernetes/controller-manager

Start and enable Kubernetes

# for SERVICE in etcd kube-apiserver kube-controller-manager  kube-scheduler docker kube-proxy  kubelet; do 
    systemctl restart $SERVICE
    systemctl enable $SERVICE
    systemctl status $SERVICE
done

Running atomicapp

Now, we are all set to run an atomic app.

# atomic run projectatomic/helloapache

This will, by default, use Kubernetes as a provider. You can find the newly created helloapache pod as below:

$ kubectl get pods
NAME          READY     STATUS    RESTARTS   AGE
helloapache   1/1       Running   0          2h