安装篇Docker

来源:互联网 发布:桌秀美化软件 编辑:程序博客网 时间:2024/06/14 12:46

Centos7 x86_64
Bois开启虚拟化技术(VT)
DNS:首选设置8.8.8.8,否则shipyard在访问RethinkDB时不使用虚拟化的IP,被网通或电信的dns劫持。
Docker网站: https://www.docker.com/
portainer 网站:http://portainer.io/
shipyard网站:https://www.shipyard-project.com/
Docker镜像网站:https://www.daocloud.io/

1 安装Docker Community Edition (Docker CE)

sudo yum install -y yum-utils

sudo yum-config-manager \
–add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce

安装检验
[root@localhost ~]# docker -v
Docker version 17.03.0-ce, build 3a232c8

2 设置daocker镜像

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://e3012129.m.daocloud.io

或者修改文件
[root@localhost ~]# vi /etc/docker/daemon.json
{“registry-mirrors”: [“http://e3012129.m.daocloud.io“]}

sudo systemctl restart docker

3 WEB UI

3.1安装shipyard

添加tcp方式交互
vi /etc/systemd/system/docker.service.d/docker.conf

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock

curl -sSL https://shipyard-project.com/deploy | bash -s

添加节点,节点添加以后,在172.16.1.181的服务器上自动会出现两个节点,shipyard使用Swarm管理集群,4001是Swarm服务端口

curl -sSL https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://172.16.1.181:4001 bash -s

3.2安装portainer

3.2.1可以管理远程节点

docker run -d -p 9000:9000 portainer/portainer

3.2.2管理本地节点

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

3.2.3管理swarm节点

docker run -d -p 9000:9000 portainer/portainer -H tcp://172.16.1.184:2375

4常用命令

停止所有服务:docker stop (dockerpsaq)dockerrm(docker ps -a -q)
修改系统主机名:hostnamectl set-hostname 181lh
Systemctl reload docker

5安装kubenetes

需要安装以下工具:
  1. docker: 容器运行,推荐v1.11.2
  2. kubelet: Kubernetes 集群所有机器都要按装,用于启动pod和容器.
  3. kubectl: Kubernetes安装在集群主机上,使用命令行操作,控制其他阶段
  4. kubeadm:引导集群,使用命令行操作。

https://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/

  1. 在启动kubelet之前我们需要先修改vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf,为kubelet添加一个额外的参数
    // 这样kubelet就不会在启动pod的时候去墙外的k8s仓库拉取pause-amd64:3.0镜像了
    –pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0

部署kubernetes-dashboard
kubectl apply -f http://k8s.oss-cn-shanghai.aliyuncs.com/kube/kubernetes-dashboard1.5.0.yaml

  1. 错误MissingClusterDNS

vi /etc/kubernetes/kubelet
#Add your own!
KUBELET_ARGS=”–cluster-dns=172.16.1.181 –cluster-domain=centos-minion-1”

  1. kubectl describe po –all-namespaces 查看所有空间运行状态

  2. 部署kubernetes-dashboard

将google的替换本地的镜像
image: docker.io/ist0ne/kubernetes-dashboard-amd64
不要去google拉取镜像
imagePullPolicy: IfNotPresent

4.kubenetes 使用环境,如果没有手工pull
docker pull registry.access.redhat.com/rhel7/pod-infrastructure

5.安装kubernetes-dashboard
设置- –apiserver-host=http://172.16.1.183:8080

6安装 Ingress controllers

  1. gcr.io/google_containers/nginx-ingress-controller:0.8.3 (ingress controller 的镜像)
  2. gcr.io/google_containers/defaultbackend:1.0 (默认路由的servcie的镜像)
  3. gcr.io/google_containers/echoserver:1.0 (用于测试ingress的service镜像,当然这个你可以换成你自己的service都可以)
    https://github.com/kubernetes/ingress/tree/master/examples/deployment/nginx

不使用证书时修改ingress-controller.yaml
- name: KUBERNETES_MASTER
value: http://183.131.19.231:8080
或者
- –apiserver-host=http://172.16.1.183:8080