Docker的那些事(Kubernetes+docker)

采用VMware的虚拟机虚拟化三台Centos7的系统,作为我们安装Docker的环境系统;

docker_4,docker_6,docker_8
1.下载相应的centos的版本:http://101.96.10.26/mirror.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso
2.安装相应的虚拟机,但是这个过程执行完之后,发现我们的虚拟机上不了网,错误提示如下;经过分析之后得出结论是,在安装虚拟机的时候没有配置网卡选项;

提示出现的问题

重新安装的过程中选择相应的网卡即可:安装的过程选择相应的网卡即可

选择相应的网卡

1.根据官方提供的文档对在centos上安装Docker,
2.首先更新当前的软件包:

yum update

输入这个命令更新你的yum源

跟新yum成功

3.添加相应的yum源到虚机中,之后就可以进行相应的yum源安装了;

[dockerrepo]
name=Docker Repository
baseurl=https://yum.docherproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject/org/gpg

添加的yum源信息

4.安装Docker软件包:docker-engine

yum install -y docker-engine

安装成功

启动docker守护进程:

systemctl start docker

docker守护进程


5.配置docker
打开docker远程管理端口2375,配置docker hub的国内仓库:
1.新建docker的配置文件

vi /etc/sysconfig/docker
在其内增加相应的配置项:
DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375 --registry-mirror=仓库地址"
仓库地址:可以申请daocloud的相应的docker国内地址即可;

2.启动docker守护进程的时候加载配置文件

  vi /lib/systemd/system/docker.servic
 修改相应的配置:
 ExecStart=/usr/lib/dockerd $DOCKER_OPTS
 EnvironmentFile=-/etc/sysconfig/docker

3.重启docker守护进程

systemctl stop docker
systemctl start docker
systemctl status docker.service

docker启动状态

6.安装需求:由多个docker节点构成docker的集群,采用kubernetes的容器编排技术进行管理构成的docker集群,kubernetes是google开源的容器管理系统,实现基于Docker构建容器,利用kubernetes可以很方便的管理含有多台Docker主机中的容器,将多个docker主机抽象为一个资源,以集群方式管理容器;

节点信息:
Master:docker_4->192.168.94.129
Minion:docker_6->192.168.94.130
       docker_8->192.168.94.131
在Master节点上安装:kube-apiserver kube-scheduler kube-controller-manager;etcd节点;
在Minion节点上安装:docker、kube-proxy、kubelet-node;
kubernetes的角色构成:
1.Pod:最小操作单元,一个pod由一个或多个容器构成,同一个pod只能运行在同一个主机上;
2.Kubernetes是独立于docker存在的,安装docker之前要安装k8s软件;
3.Kubernetes存在两部分的内容,其中master节点是承担管理集群中所有容器的工作;minion是容器的栖身之所;

6.1 首先我们要构造一个由三个节点构成的简单的docker集群,实现docker跨主机网络通信;Kubernetes使用的是Flannel解决的跨主机的通信问题; 在3台机器上装上docker服务,三台机器的系统为centos系统,首先应该关闭系统上的防火墙,centos系统默认是开启firewalld服务的。 在master节点是不安装docker的,这里只是管理节点;minion是工作节点,负责安装的docker,Flannel等服务,这里要清楚的知道这个区别;(集群的结构为:1master+2minion的结构部署)
6.2在三台虚拟机上关闭相应的防火墙的工作:

systemctl stop firewalld.service
systemctl disable firewalld.service

6.3 Kubernetes的网络互联是通过flannel进行的: 安装master:

yum install -y kubernetes etcd ntp.x86_64 flannel

安装成功示意图


配置参数: 1./etc/etcd/etcd.conf:

需要修改的部分


2./etc/kubernetes/config:

需要修改的部分


3./etc/kubernetes/apiserver:

需要修改的部分


4.执行相应的开启服务操作验证安装的正确性:

1.systemctl start ntpd
  systemctl enable ntpd
  systemctl status ntpd
------------------------------------------
2.systemctl start etcd
  systemctl enable etcd
  systemctl status etcd
------------------------------------------
3.systemctl start kube-apiserver
  systemctl enable kube-apiserver
  systemctl status kube-apiserver
------------------------------------------
4.systemctl start kube-scheduler
  systemctl enable kube-scheduler
  systemctl status kube-scheduler
------------------------------------------
5.systemctl start kube-controlled-manager
  systemctl enable kube-controlled-manager
  systemctl status kube-controlled-manager

如果每一个服务都启动成功的话,那么显示的信息为Active:Active(running)的状态;

启动成功


5.在master节点修改etcd的配置:设定minion子网的范围

作者:24格的世界
链接:https://www.jianshu.com/p/173f50c7b5e8
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自my.oschina.net/liupengjun/blog/1625940