如何在Docker容器中运行本地Kubernetes集群
时间:2020-02-23 14:31:38 来源:igfitidea点击:
问题:我可以在Docker中运行Kubernetes吗?如果我们想在没有任何承诺的情况下测试Kubernetes,最简单,最快的方法是使用Docker容器。此方法没有很多准备工作,也不占用大量资源。只需具备可以运行Docker的任何体面的Linux机器即可。
前面我们已经介绍了其他方法,这些方法可以在Linux上运行一个轻量级Kubernetes集群。
使用Ansible和Kubespray部署生产Kubernetes集群
通过MicroK8和Snap部署轻量级Kubernetes
如何在KVM上运行Minikube
对于Docker Lovers,我们可以探索此方法。设置已在CentOS 7和Ubuntu服务器上完成。但是对于其他Linux发行版,该过程应该类似。
安装Docker
首先安装Docker运行时引擎,它将用于运行所有Kubernetes服务。
通过运行以下命令确认docker是否正确安装:
$docker info .............. Client: Debug Mode: false Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 19.03.1 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f init version: fec3683 Security Options: apparmor seccomp Profile: default Kernel Version: 4.15.0-54-generic Operating System: Ubuntu 18.04.2 LTS OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 7.604GiB Name: k8s-server ID: KRK3:OLPP:CCB2:CE5K:6PSD:D6JP:4Q6X:HL7H:46FN:YECO:CXL5:BQTX Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false
安装Go
我们需要安装Go(Golang),因为它将用于构建所需的软件包。
如何在Fedora上安装Go(Golang)
如何在CentOS/RHEL 8上安装Go
如何在Ubuntu/CentOS 7上安装Go
安装同类工具
kindis是一种使用Docker容器节点运行本地Kubernetes集群的工具。
该类主要用于测试Kubernetes 1.11+,最初针对一致性测试。
$GO111MODULE="on" go get sigs.k8s.io/kind
将种类二进制文件复制到PATH中的目录中。
sudo cp ~/go/bin/kind /usr/local/bin/
检查安装的版本。
$kind version v0.4.0
使用Docker容器节点运行本地Kubernetes集群。
现在,我们满足了所有要求。我们应该准备好创建在Docker容器上运行的本地Kubernetes集群。
sudo kind create cluster
我们应该获得如下输出:
kind create cluster | sudo tee -a kind_output.txt Creating cluster "kind" ... • Ensuring node image (kindest/node:v1.15.0)