mg4377娱乐娱城官网_mg4377娱乐手机版_www.mg4377.com

Docker中安插Kubernetes

时间:2019-08-23 13:08来源:mg4377娱乐娱城官网
Docker中部署Kubernetes Kubernetes为谷歌开源的器皿管理框架,提供了Docker容器的夸主机、集群管理、容器安顿、高可用、弹性伸缩等一多元功用;Kubernetes的统一准备指标蕴含使容器集群放肆

Docker中部署Kubernetes

Kubernetes为谷歌开源的器皿管理框架,提供了Docker容器的夸主机、集群管理、容器安顿、高可用、弹性伸缩等一多元功用;Kubernetes的统一准备指标蕴含使容器集群放肆时刻都远在客商期待的气象,因此组建了一站式集群管理机制:容器自动重启、自动备份、容器自动伸缩等;Kubernetes设计了pod、replication controller、service用于管理容器的了组件,并提供了RESTful格式接口用于操作他们;由于本篇小说首假使Kubernetes所以就窘迫理论相关进展过多介绍了;
  本篇小说把Kubernetes计划到Docker中,使用三个节点192.168.2.143况且为Master和minion节点,别的还应该有192.168.2.144、192.168.2.145七个minion节点;

1、master节点运行etcd容器
启动etcd容器

 --绑定4001端口
 docker run -d --net=host --restart=always --name=etcd -v /var/etcd/data:/var/etcd/data  kubernetes/etcd:2.0.5  /usr/local/bin/etcd --addr=192.168.2.143:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data

  在etcd里插入flannel配置消息,钦点flannel使用10.0.0.0/8间距

 docker exec -it etcd etcdctl set /solinx.co/network/config '{"Network":"10.0.0.0/8"}'  

2、在master、minion1、minion2节点配置flanneld

 启动flanneld, wget -c https://github.com/coreos/flannel/releases/download/v0.5.5/flannel-0.5.5-linux-amd64.tar.gz

 ./flanneld --etcd-endpoints=http://192.168.2.143:4001 --etcd-prefix=/solinx.co/network --iface=ens33 > flannel.log  2>&1 &

  flannel运转后获得可用于分配的IP群集,贮存于/run/flannel/subnet.env中,供给配置docker可用与分配的IP

  Ubuntu下修改Docker配置文件

  在/lib/systemd/system/docker.service  增加EnvironmentFile=-/etc/default/docker
 修改ExecStart=/usr/bin/docker -d -H fd://  ,改成:  ExecStart=/usr/bin/docker -d -H fd:// $DOCKER_OPTS

 source /run/flannel/subnet.env
 sh -c "echo DOCKER_OPTS=\"--bip=$FLANNEL_SUBNET --mtu=$FLANNEL_MTU\" >> /etc/default/docker"

 service docker restart

Docker中安插Kubernetes。3、Kubernetes部署
下载kubernetes.tar.gz到master、minion节点中

 wget -c https://github.com/kubernetes/kubernetes/releases/download/v1.2.5/kubernetes.tar.gz

  tar -zxvf 解压kubernetes.tar.gz文件后在kubernetes/server目录中找到kubernetes-server-linux-amd64.tar.gz将其解压,然后在kubernetes/server/bin目录下找到:kube-apiserver.tar、kube-controller-manager.tar、kube-scheduler.tar;
  在master节点中程导弹入kubernetes Docker镜像文件

 docker load -i kube-apiserver.tar
 docker load -i kube-controller-manager.tar
 docker load -i kube-scheduler.tar

此处flannel与kubernetes使用同贰个etcd

master节点运维apiServer

 docker run -d --name=apiserver --net=host gcr.io/google_containers/kube-apiserver:7bf05b2d35172296e4fbd2604362456f kube-apiserver --insecure-bind-address=192.168.2.143 --service-cluster-ip-range=10.0.0.0/16 --etcd-servers=http://192.168.2.143:4001  

master节点运行ControllerManager

 docker run -d --name=ControllerM gcr.io/google_containers/kube-controller-manager:6c95ef0b57ac9deda34ae1a4a40baa0a kube-controller-manager --master=192.168.2.143:8080

master节点运维Scheduler

 docker run -d --name=scheduler gcr.io/google_containers/kube-scheduler:e5342c3d8ced06850af97347daf6ae4b kube-scheduler --master=192.168.2.143:8080

服务端运行达成

 ./kubectl -s 192.168.2.143:8080 version 查看kubernetes版本信息

 Client Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.5", GitCommit:"25eb53b54e08877d3789455964b3e97bdd3f3bce", GitTreeState:"clean"}
 Server Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.5", GitCommit:"25eb53b54e08877d3789455964b3e97bdd3f3bce", GitTreeState:"clean"}

在Master节点查看服务Container运维情形:

 docker ps  

图片 1

在143、144、145 minion节点运转kubelet

取得minion节点IP

 NODE_IP=`ifconfig ens33 | grep 'inet addr:' | cut -d: -f2 | cut -d' ' -f1`

 ./kubelet --api-servers=192.168.2.143:8080 --node-ip=$NODE_IP --hostname_override=192.168.2.144 > kubelet.log 2>&1 &

小心如若当前四个几点的主机名同样则势供给使用hostname_override参数,不然供给把主机名改为不一样的;

在master上查看节点音信

 ./kubectl -s 192.168.2.143:8080 get no

图片 2

在143、144、145节点运转kube-proxy

 ./kube-proxy --master=192.168.2.143:8080 > proxy.log 2>&1 &

上边包车型客车授命来查阅pod、replication controller、service和endpoint:

 ./kubectl -s 192.168.1.143:8080 get po
 ./kubectl -s 192.168.1.143:8080 get rc
 ./kubectl -s 192.168.1.143:8080 get svc
 ./kubectl -s 192.168.1.143:8080 get ep  

参照他事他说加以考察资料:

Kubernetes集群布置 

OpenStack, Kubernetes, Mesos 何人主沉浮 

Kubernetes集群搭建进度中遇见的题目及缓慢解决 

Kubernetes 的详尽介绍:请点这里
Kubernetes 的下载地址:请点这里

正文永远更新链接地址:

Kubernetes为Google开源的容器管理框架,提供了Docker容器的夸主机、集群管理、容器安排、高可用、弹性伸缩等一多种功用...

Kubernetes 搭建有七种艺术,简单评价一下:

1.基于Docker 本地运维Kubernetes 先决条件: 参考资料: Install kubectl and shell auto complish: 评价: 这种办法自身从没搭建成功,一贯有can not connet 127.0.0.1:8080 的难题,前面认为是未有创造./kube目录的来由。可是未有再试

2.用minikube minikube是三个适合于在单机碰着下搭建,它是创制出二个虚构机来,何况Kubernetes官方好像早已截止对基于Docker本地运营Kubernetes的扶助,参谋: 不过因为它最棒必要是virtualbox作为底层虚构化driver,而本身的bare metal 已经设置kvm了,笔者试了下存在争辨,所以也就一直不用这种艺术张开设置。

3.用kubeadm 它是三个比较方便安装Kubernetes cluster的工具,小编也是遵守这种艺术装成功的。前边会详细笔录这种格局。

4.一步步设置 每贰个零件每三个零件举办设置,笔者还不曾试,能够依照: 相比麻烦。

5.在此间运用第两种kubeadm安装kunbernetes集群:1.Turn off SELinuxsudo setenforce 0sudo sed -i 's/enforcing/permissive/g' /etc/selinux/config2.Turn off firewalldsudo systemctl stop firewalldsudo systemctl disable firewalld3.Write the Kubernetes repository filecat

(这种艺术根本是下载Kubernetes集群服务所需的微服务Docker镜像,相同的时候鉴于FW的限制部分镜像不能够下载,那时就须要通过一些格局从本国下载或然转载后重新tag镜像名称)

[kubernetes]

name=Kubernetes

baseurl=

gpgcheck=0

EOF

docker pull registry.cn-hangzhou.aliyuncs.com/k8s16/kubernetes-dashboard-amd64

docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0

docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/kube-proxy-amd64:v1.6.4

docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/kube-scheduler-amd64:v1.6.4

docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/dnsmasq-metrics-amd64

docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/k8s-dns-sidecar-amd64

vim /etc/sysctl.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.bridge.bridge-nf-call-arptables = 1

images=(

pause-amd64:3.0

kube-proxy-amd64:v1.6.4

kube-scheduler-amd64:v1.6.4

kube-controller-manager-amd64:v1.6.4

kube-apiserver-amd64:v1.6.4

etcd-amd64:3.0.17

kube-discovery-amd64:1.0

kubedns-amd64:1.9

kube-dnsmasq-amd64:1.4

exechealthz-amd64:v1.2.0

dnsmasq-metrics-amd64:1.0

)

for imageName in ${images[@]} ; do

docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/$imageName

docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/$imageName gcr.io/google_containers/$imageName

docker rmi registry.cn-hangzhou.aliyuncs.com/google-containers/$imageName

done

docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1

images=(

pause-amd64:3.0

kube-proxy-amd64:v1.6.4

)

for imageName in ${images[@]} ; do

docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/$imageName

docker tag registry.cn-hangzhou.aliyuncs.com/kube_containers/$imageName gcr.io/google_containers/$imageName

docker rmi registry.cn-hangzhou.aliyuncs.com/kube_containers/$imageName

编辑:mg4377娱乐娱城官网 本文来源:Docker中安插Kubernetes

关键词: Docker