Kubernetes is a tool for orchestrating and managing Docker containers
5.0K
Kubernetes is an open source container cluster manager by Google. It aims to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts.
Using Kubernetes, you can run and manage docker-formatted containers from one system (a Kubernetes master) and deploy them to run on other systems (Kubernetes nodes). Kubernetes itself consists of a set of system services that allow you to launch and manage Docker containers in what are referred to as pods. Those pods can run across multiple nodes and be interconnected by Kubernetes services. Once defined, pods can quickly scale up or down to meet demand. (Source Redhat Creating a Kubernetes Cluster to Run Docker Formatted Container Images).
Kubernetes is an open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications.
Kubernetes is:
docker run -d \
--net=host \
--name=etcd \
brunswickheads/kubernetes-s390x etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data
docker run \
--volume=/:/rootfs:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/var/data/kubelet:/var/data/kubelet/:rw \
--volume=/var/run:/var/run:rw \
--net=host \
--privileged=true \
-d \
--name=kubelet \
brunswickheads/kubernetes-s390x:latest \
hyperkube kubelet --containerized --root-dir=/var/data/kubelet --hostname-override="127.0.0.1" --address="0.0.0.0" --api-servers=http://localhost:8080 --config=/etc/kubernetes/manifests
docker run \
--volume=/:/rootfs:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/var/data/kubelet:/var/data/kubelet/:rw \
--volume=/var/run:/var/run:rw \
--net=host \
--privileged=true \
-d \
--name=apiserver \
brunswickheads/kubernetes-s390x:latest \
hyperkube apiserver --portal_net=10.0.0.1/24 --address=0.0.0.0 --insecure-bind-address=0.0.0.0 --etcd_servers=http://127.0.0.1:4001 --cluster_name=kubernetes --v=2
docker run \
-d \
--net=host \
-v /var/run/docker.sock:/var/run/docker.sock \
--name=controller \
brunswickheads/kubernetes-s390x:latest hyperkube controller-manager --master=127.0.0.1:8080 --v=2
docker run \
-d \
--net=host \
-v /var/run/docker.sock:/var/run/docker.sock \
--name=scheduler \
brunswickheads/kubernetes-s390x:latest hyperkube scheduler --master=127.0.0.1:8080 --v=2
docker run \
-d \
--net=host \
--privileged \
--name=proxy \
brunswickheads/kubernetes-s390x:latest hyperkube proxy --master=http://127.0.0.1:8080 --v=2
docker tag <k8s_image_name>:latest gcr.io/google_containers/pause:0.8.0
8 .To exercise it you may, for example, deploy solr application on Kubernets single node cluster:
docker pull s390x/solr
docker cp kubectl:/opt/kubernetes/bin/kubectl .
./kubectl run solr --image=s390x/solr --port=8983
./kubectl get pods
Once we get the kubectl command, we can perform various operations on the cluster like checking the status of cluster, deploying an application, getting node information etc.
More information about kubectl interface can be found at http://kubernetes.io/v1.0/docs/user-guide/kubectl/kubectl.html
Content type
Image
Digest
Size
152.7 MB
Last updated
about 9 years ago
docker pull sinenomine/kubernetes-s390x