精华内容
下载资源
问答
  • redis docker 集群搭建
    千次阅读
    2021-12-04 16:43:18

    docker redis 集群配置

    1、配置 专有 网络 ,目的是保证局域网ip互通

    docker network create -d bridge --subnet 172.18.0.0/24 redis-net

    2、配置文件 和 data 目录

    ·设置ip 为公网 及docker暴露的端口,原因是 集群 槽在其它节点则会 重定向 到该节点 ,自动返回客户端该节点ip ,为annouce ip(指定)
    ·bus 端口 默认 10000+ip ,如果不指定
    ·bind 0.0.0.0 或者 不指定 --------------------一定要
    for i in $(seq 1 6)
    do
    mkdir -p /redis-cluster/node-${i}/
    cd /redis-cluster/node-${i}/
    cat >redis.conf <<EOF
    port 6379
    bind 0.0.0.0
    cluster-enabled yes
    cluster-config-file nodes-${i}.conf
    cluster-node-timeout 5000
    appendonly yes
    cluster-announce-ip 39.103.165.133
    cluster-announce-port 63${i}9
    cluster-announce-bus-port 163${i}9
    EOF
    mkdir data
    done
    

    3、 配置 redis 集群 别忘记指定网络

    for i in $(seq 1 6)
    do 
       docker run -it -d -p 63${i}9:6379 -p 163${i}9:16379  \
      --privileged=true -v /redis-cluster/node-${i}/redis.conf:/usr/local/etc/redis/redis.conf \
      --privileged=true -v /redis-cluster/node-${i}/data:/data \
      --restart always --name redis-${i} --net redis-net \
      --sysctl net.core.somaxconn=1024 redis:6.0-bullseye redis-server /usr/local/etc/redis/redis.conf
    done
    

    4、创建集群

    1、进入其中一个

    docker exec -it redis-1 bash
    

    2、

    cd /usr/local/bin/
    

    3、创建集群 replicas 1 为每一个主节点配置一个从节点 ,所以 只有3个主节点 06 ,这里可公网也可局域网创建,局域网务必和 2 中配置一样

    局域网ip: 成功 【使用docker network inspect redis-net 查看局域网ip】

    redis-cli --cluster create 172.18.0.2:6379 172.18.0.3:6379 172.18.0.4:6379 172.18.0.5:6379 172.18.0.6:6379 172.18.0.7:6379 --cluster-replicas 1
    

    如果 一直等待 翻阅下文 错误 部分 如下:

    Waiting for the cluster to join


    5、 查看节点

    redis-cli
    cluster nodes 
    

    有全部节点则成功 同时 集群总线端口也被打开 ,curl有返回内容,此前没有,
    但是客户端连接端口 curl 如:6379一定会有返回值,如果没有,配置问题

    问题:

    1、[ERR] Node 172.18.0.4:6379 is not empty. Either the node already

    关闭所有容器:
    docker stop $( docker ps -q -f ancestor=redis:6.0-bullseye)
    使用额外工具2 删除配置文件
    重启 (命令如下):
    docker start $(docker ps -q -f status=exited)
    如果配置文件又生成了,再次使用使用额外工具2 删除配置文件

    2、一直在等待,则配置出错 ,或者端口 失败

    除了阿里云 安全组 和 防火墙 【这里不关心因为这导致的问题】

    我的问题
    使用公网ip 创建集群 失败 原因不明 【后来莫名其妙好了】
    如下

    # 公网:`一直等待 `
    redis-cli --cluster create 39.103.165.133:6319 39.103.165.133:6329 39.103.165.133:6339 39.103.165.133:6349 39.103.165.133:6359 39.103.165.133:6369` --cluster-replicas 1
    

    使用局域网 创建成功,特别注意的是如果使用局域网 创建,那么必须添加如下配置,公网则不需要:

    //用于指定外玩连接
    
    cluster-announce-ip 39.103.165.133  外部ip
    cluster-announce-port 63${i}9       如:6379
    cluster-announce-bus-port 163${i}9   如:16379 可以指定,并非一定是+10000
    

    否则使用命令后报错

    连接错误:Command execution timeout
    

    额外工具1 清楚data目录里面的数据 以及nodes.conf

    for i in $(seq 1 6)
    do
    rm -rf /redis-cluster/node-${i}/data/nodes-${i}.conf
    rm -rf /redis-cluster/node-${i}/data/appendonly.aof 
    rm -rf /redis-cluster/node-${i}/data/dump.rdb 
    done
    

    额外工具2 删除配置文件

    rm -rf /redis-cluster
    

    额外工具3 删除所有redis

    docker rm -f $( docker ps -q  -f ancestor=redis:6.0-bullseye)
    
    更多相关内容
  • k8s docker集群搭建

    2019-02-12 13:38:18
    云计算中的`docker集群构建,可伸缩的集群是目前流行的技术。
  • 记录下docker 集群搭建及使用docker compose 搭建es集群的探索过程一.创建虚拟机二.配置网络三.安装docker四.Swarm配置五.搭建Portainer可视化界面 一.创建虚拟机 硬盘64G,内存24G,CPU4,网络适配器网桥,...

    一.创建虚拟机

    硬盘64G,内存24G,CPU4,网络适配器网桥,系统安装时设置root用户密码

    二.配置网络

    1. vi /etc/sysconfig/network-scripts/ ifcfg-ens33 打开编辑ifcfg-ens33文件;
    2. 将ONBOOT=no改为yes,将BOOTPROTO=dhcp改为BOOTPROTO=static,并在后面增加几内容:按实际网络情况配置)
      IPADDR=192.168.0.225
      NETMASK=255.255.255.0
      GATEWAY=192.168.0.1
      DNS1=119.29.29.29 ;
    3. service network restart 重启网络服务;
    4. Ifconfig 查看网络配置;
    5. systemctl stop firewalld & systemctl disable firewalld 关闭防火墙并禁止开机启动;

    三.安装docker

    1. 安装工具包 yum install -y yum-utils
    2. 设置远程仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    3. 安装 yum install docker-ce
    4. 启动 service docker start 加入开机启动 chkconfig docker on
    5. 查看版本 docker version
    6. 校验 docker run hello-world

    四.Swarm配置

    1. 初始化swarm,在manager(或leader)机器上执行swarm init命令
      docker swarm init --advertise-addr 主机ip
      运行后将会获得token 如:
      Docker swarm join \
      –tokenSWMTKN-1-0038kiadp6vm1xrhxjgnao61a04s1m2st0g4p003xv34qn5g27-6ernode3 ur c6fcwrsamnkhdty
      主机ip
    2. 在其他机器上运行获得的token命令 即可加入集群
    3. Manage查看swarm节点 $ docker node ls

    五.搭建Portainer可视化界面

    1. 下载镜像 docker pull portainer/portainer
    2. 启动
    docker run -d -p 9000:9000 \
        --restart=always \
        -v /var/run/docker.sock:/var/run/docker.sock \
        --name prtainer-test \
        portainer/portainer
    
    1. 首次登陆需要注册用户,给admin用户设置密码,单机版选择local即可

    六.使用docker compose搭建elk集群

    1. 在Portainer界面Stacks中AddStack,docker-compose.yml如下,搭建了es3个,kibana1个,volumes3个,network1个
    version: '3.6'        #指定 docker-compose.yml 文件的写法格式
    services:             #多个容器集合
      elasticsearch:      #服务名
        image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2      #指定服务所使用的镜像
        container_name: es1                   #容器名
        environment:                          #环境变量配置,可以用数组或字典两种方式
          - cluster.name=elasticsearch-cluster   #es集群名,所有es节点集群名必须一样才能互相发现
          - node.name=es1                      #节点名 
          - network.host=0.0.0.0               #是配置可以访问本节点的路由地址
          - network.publish_host=192.168.0.225      #设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址
          - http.port=9200                  #设置对外服务的http端口
          - transport.tcp.port=9300         #设置节点之间交互的tcp端口
          - http.cors.enabled=true          #允许跨域
          - node.master=true                #允许成为master
          - node.data=true                     #允许保存数据
          - http.cors.allow-origin=*          #解决跨域问题
          - bootstrap.memory_lock=false
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"      #指定JVM参数。机器配置低就稍微调小一点,一般512够用了    
          - "discovery.zen.minimum_master_nodes=1"    #设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点
        ulimits:                           #解除内存限制相关设置
         memlock:
           soft: -1
           hard: -1
        volumes:
          - esdata1:/usr/share/elasticsearch/data  #卷挂载路径,定义宿主机的目录/文件和容器的目录/文件的映射  宿主机路径:容器路径
        ports:               # 暴露端口信息 "宿主机端口:容器暴露端口" 访问时通过可通过宿主机ip:宿主机端口访问
          - "9200:9200"
          - "9300:9300"
        networks:         #使用的网络,我使用的是文件末尾自己新建的网络 因为要搭建集群所以大家网络应该一样
          - esnet
        deploy:          #部署落点约束
          placement:
            constraints:
              - node.role == manager
      elasticsearch2:
        image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
        container_name: es2
        environment:
          - cluster.name=elasticsearch-cluster
          - node.name=es2
          - network.host=0.0.0.0
          - network.publish_host=192.168.0.225
          - http.port=9201
          - transport.tcp.port=9301
          - http.cors.enabled=true
          - node.master=false
          - node.data=true
          - http.cors.allow-origin=*
          - bootstrap.memory_lock=false
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          - "discovery.zen.ping.unicast.hosts=192.168.0.225:9200"  #设置集群内节点的主机,设置一台的话这台默认成为master节点,写多个的话自动选取
        ulimits:       
         memlock:
           soft: -1
           hard: -1
        volumes:
          - esdata2:/usr/share/elasticsearch/data
        ports:
          - "9201:9201"
          - "9301:9301"
        networks:
          - esnet
        deploy:
          placement:
            constraints:
              - node.role == worker
      elasticsearch3:
        image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
        container_name: es3
        environment:
          - cluster.name=elasticsearch-cluster
          - node.name=es3
          - network.host=0.0.0.0
          - network.publish_host=192.168.0.225
          - http.port=9202
          - transport.tcp.port=9302
          - http.cors.enabled=true
          - node.master=false
          - node.data=true
          - http.cors.allow-origin=*
          - bootstrap.memory_lock=false
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          - "discovery.zen.ping.unicast.hosts=192.168.0.225:9200"
        ulimits:
         memlock:
           soft: -1
           hard: -1
        volumes:
          - esdata3:/usr/share/elasticsearch/data
        ports:
          - "9202:9202"
          - "9302:9302"
        networks:
          - esnet
        deploy:
          placement:
            constraints:
              - node.role == worker
      kibana:
        image: docker.elastic.co/kibana/kibana:6.4.2
        container_name: kibana
        environment:
          ELASTICSEARCH_URL: http://192.168.0.225:9200   #设置es地址
          I18N_LOCALE: zh-CN
        ports:
          - "5601:5601"
        networks:
          - esnet
        deploy:
          placement:
            constraints:
              - node.role == manager
    volumes:
      esdata1:
        driver: local
      esdata2:
        driver: local
      esdata3:
        driver: local
    
    networks:
      esnet:
    

    2.部署完成后,可以登录kibana查看集群状态
    在这里插入图片描述

    七.踩过的坑

    1. docker 启动ES失败,报错如下 max virtual memory areas vm.max_map_count [65530] is too low
      注意!!!:修改宿主机的文件而不是容器的
    vi /etc/sysctl.conf 
    

    添加 vm.max_map_count=262144,然后加载参数

    sysctl -p 
    
    展开全文
  • Rancher+K8S+Docker集群搭建

    千次阅读 2020-12-31 16:06:11
    Rancher+K8S+Docker集群搭建 Ubuntu安装 准备工作:准备VMware+Ubuntu(ubuntu-18.04.5-live-server-amd64.iso) 1.1 虚拟机安装 步骤不做赘述,参照下图步骤即可: 设置虚拟机名称和虚拟机所在磁盘位置 虚拟机...

    Rancher+K8S+Docker集群搭建

    Ubuntu安装

    准备工作:准备VMware+Ubuntu(ubuntu-18.04.5-live-server-amd64.iso)

    1.1 虚拟机安装

    步骤不做赘述,参照下图步骤即可:
    在这里插入图片描述
    (C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201224142530891.png)]
    在这里插入图片描述
    在这里插入图片描述设置虚拟机名称和虚拟机所在磁盘位置
    在这里插入图片描述
    在这里插入图片描述
    虚拟机内存根据本机实际情况而定,此处设置为4G
    在这里插入图片描述
    采用桥接网络
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    此处点击自定义硬件
    在这里插入图片描述
    在这里插入图片描述点击完成.

    1.2 运行安装的VM

    ​点击运行改虚拟机完成系统安装
    在这里插入图片描述
    后面一直选择DONE

    语言选择Engilsh

    设置用户名、服务名、密码、在提示回车和重启的时候记得点击下就ok了。

    完成后如图:
    在这里插入图片描述
    点击回车输入用户名和密码进入系统

    查看虚拟机ip

    $ ip addr
    

    在这里插入图片描述
    查看hosts信息

    $ cat /etc/hosts
    

    修改hosts文件,将rancher主机和集群主机的ip互相指定(非必须)

    $ vim /etc/hosts
    

    如图:

    在这里插入图片描述
    查看本机名

    $ cat /etc/hostname
    

    1.3 安装SSH服务

    安装ssh服务后使用Shell、PuTTY、MobaXterm、WinSCP(文件传输)等工具远程连接

    $ sudo apt-get install openssh-server
    

    1.4 设置固定ip

    $ vim /etc/netplan/00-installer-config.yaml

    network:
      ethernets:
        ens33:
          dhcp4: false
          addresses: [192.168.5.72/23] #ip
          gateway4: 192.168.5.1 #网关
          nameservers:
            addresses: [61.139.2.69] #dns
      version: 2
    

    应用配置的网络信息

    sudo netplan apply
    

    ----------------多台VM安装设置如上--------------

    Docker安装

    2.1 更新apt软件包索引

    更新apt软件包索引并安装软件包,允许apt通过HTTPS使用存储库

    $ sudo apt-get update
    
    $ sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common
    

    2.2 添加Docker的官方GPG密钥

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

    验证您现在是否拥有带有指纹的密钥

    $ sudo apt-key fingerprint 0EBFCD88
    

    输出如下信息为正常
    在这里插入图片描述

    2.3 设置稳定的存储库

    依需求在以下命令中的单词后面添加nightly或test(或两者)stable

    $ sudo add-apt-repository \
      "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) \
      stable"
    

    更新apt程序包索引

    $ sudo apt-get update
    

    2.4 安装Docker

    查看所有可用版本

    $ apt-cache madison docker-ce
    

    使用任何列中的版本字符串安装特定版本

    $ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
    

    此处使用19.03.12特定的版本

    eg: $ sudo apt-get install docker-ce=5:19.03.12~3-0~ubuntu-bionic docker-ce-cli=5:19.03.12~3-0~ubuntu-bionic containerd.io
    

    2.5 重启Docker

    重新启动Docker指令

    $ sudo systemctl restart docker
    

    2.6 安装本地image仓库

    在当前用户下的自定义路径下创建仓库(一台主机当做本地仓库)

    $ sudo docker run -d -p 5000:50000 -v $自定义路径:/var/lib/registry --name registry registry:2
    
    eg: $ sudo docker run -d -p 5000:50000 -v  /home/rancher:/var/lib/registry --name registry registry:2
    

    注意此处的冒号一定要有。

    每一台要使用该image仓库的主机要在/etc/docker/daemon.json 加入下列内容, 并重新启动docker。有两种方式:

    先进入对应目录

    $ cd /etc/docker/
    

    不存在daemon.json文件则进行创建

    $ touch daemon.json
    

    方式A:

    编辑daemon.json文件,设置镜像地址和本地仓库地址(可了解下vi的用法)

    $ sudo vim /etc/docker/daemon.json
    

    ​ 内容如下:

    {
       	 	"registry-mirrors": [
       	 		"https://kfwkfulq.mirror.aliyuncs.com",
    			"https://2lqq34jg.mirror.aliyuncs.com",
    			"https://pee6w651.mirror.aliyuncs.com",
    			"https://registry.docker-cn.com",
    			"http://hub-mirror.c.163.com"
               ],
       		 "insecure-registries": ["$本地仓库ip:5000"],
       	 	 "debug": true,
       	  	 "experimental": false,
       	  	 "dns": ["8.8.8.8", "8.8.4.4"]
    
    }
    

    方式B:

    $ sudo vim /etc/docker/daemon.json
    

    ​ 内容如下:

    {
        "registry-mirrors": [
        		"https://kfwkfulq.mirror.aliyuncs.com",
    			"https://2lqq34jg.mirror.aliyuncs.com",
    			"https://pee6w651.mirror.aliyuncs.com",
    			"https://registry.docker-cn.com",
    			"http://hub-mirror.c.163.com"
    			]
    }
    

    修改docker.service文件

    $ sudo vim /lib/systemd/system/docker.service
    

    在此处设置本机仓库地址信息

    ExecStart=/usr/bin/dockerd $本地仓库 -H fd:// --containerd=/run/containerd/containerd.sock
    
    eg: ExecStart=/usr/bin/dockerd --insecure-registry $本地仓库ip:5000 -H fd:// --containerd=/run/containerd/containerd.sock
    

    此处一定要细心。

    重新加载配置文件!!!

    $ sudo systemctl daemon-reload
    

    重启Docker!!!

    $ sudo systemctl restart docker
    

    -----参与集群的VM都要安装如上Doker--------

    Rancher安装

    3.1 安装Rancher

    选取一台主机(VM)进行Rancher的安装

    $ sudo docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:v2.4.8
    

    #rancher/rancher:冒号后面用来添加指定版本

    会先提示找不到该镜像,等等就好了,下载好后在网页输入IP进入RANCHER的页面(登录界面自行设置密码,账户名为admin)

    如图:
    在这里插入图片描述

    3.2 安装Kubectl

    安装Kubectl1.18.6

    $ sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.6/bin/linux/amd64/kubectl
    

    使用二进至可执行的文件

    $ sudo chmod +x ./kubectl
    

    移动路径位置

    $ sudo mv ./kubectl /usr/local/bin/kubectl
    

    检查kubectl有无安装起来

    $ kubectl version --client
    

    输出json信息对应版本号即可。

    建立集群

    4.1 添加集群

    在Rancher管理界面添加集群(Add Cluster)
    在这里插入图片描述
    设置名称
    在这里插入图片描述
    在这里插入图片描述
    在Advanced Options处找寻Node Port Range,设置为 1-65535后点击下一步

    将下面的每个选项都打√,负责下面的指令到参与集群的VM中执行
    在这里插入图片描述
    等待执行完成,自行完成后界面会自己跳转,在管理界面看到下图视为添加完成。
    在这里插入图片描述
    参与集群的节点
    在这里插入图片描述
    等待状态变为正常Active(此等待过程下载内容较多,耐心等待)
    在这里插入图片描述

    K8S获取节点

    5.1 建立config

    H O M E 建 立 一 个 HOME建立一个 HOMEHOME /.kube的文件夹

    eg: $ mkdir -m 777 /home/rancher/.kube
    

    进入该文件夹创建config文件

    $ touch config
    

    点击Rancher管理界面仪表盘右边的Kubeconfig File
    在这里插入图片描述
    复制里面的内容
    在这里插入图片描述

    5.2 写入节点配置文件

    将复制的内容写入新建的config文件中

    $ sudo vim /home/rancher/.kube/config
    

    让kubectl能辨识到~/.kube/config

    $ export KUBECONFIG=/home/rancher/.kube/config
    

    确认kubectl有没有抓到nodes

    $ kubectl cluster-info
    

    或者

    $ kubectl get nodes
    

    在这里插入图片描述
    输出参与集群的主机节点则搭建完成。

    进入集群所在的服务器进行对应服务的部署即可。

    常见问题&处理方法

    Q1 unhealthy

    出现[etcd] Failed to bring up Etcd Plane: etcd cluster is unhealthy: hosts [192….

    A1:
    1、检查VM之间的网络是否互通

    ​2、检查主机时钟,并使各主机时钟同步

    ​3、该主机之前添加过 kubernetes 集群,残留数据没有清理干净。需删除容器和镜像然后再从新添加集群,删除的指令如下:

    删除rancher相关容器
    $ sudo docker stop $(sudo docker ps -aq)
    
    $ sudo docker system prune -f
    
    $ sudo docker volume rm $(sudo docker volume ls -q)
    
    $ sudo docker image rm $(sudo docker image ls -q)
    
    删除mount挂载点
    $ for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done
    
    删除映射的目录
    $ sudo rm -rf /etc/ceph \
    /etc/cni \
    /etc/kubernetes \
    /opt/cni \
    /opt/rke \
    /run/secrets/kubernetes.io \
    /run/calico \
    /run/flannel \
    /var/lib/calico \
    /var/lib/etcd \
    /var/lib/cni \
    /var/lib/kubelet \
    /var/lib/docker \
    /var/lib/rancher/rke/log \
    /var/log/containers \
    /var/log/pods \
    /var/run/calico \
    /var/lib/rancher 
    
    重启机器
    $ reboot
    或者
    $ sudo systemctl restart containerd
    $ sudo systemctl restart docker
    

    Q2 docker无法移除

    出现docker无法停止或无法移除

    A2:
    1、检查是否下载了docker
    2、检查docker.service配置信息
    3、检查daemon.json配置信息
    
    使用docker rmi 镜像名删除
    

    Q3 8080 was refused

    出现The connection to the server localhost:8080 was refused - did you specify the right host or port?

    A3:
    检查设置的路径是否正确,检查是否执行$ export KUBECONFIG=/home/rancher/.kube/config指令
    

    Q4 Device or resource busy

    出现rm: cannot remove '/var/lib/kubelet/pods/ Device or resource busy

    A4:
    umount $(df -HT | grep '/var/lib/kubelet/pods' | awk '{print $7}')
    或者移除指定的绑定
    
    删除指定kubctl的节点时提示Device or resource busy
    rm -rf cdfd463f-0614-4312-8b3d-61dbc2f9392b/
    
    rm: cannot remove 'cdfd463f-0614-4312-8b3d-61dbc2f9392b/volume-subpaths/mq-nginx-volume/pod-nginx/0': Device or resource busy
    
    $ umount -f /var/lib/kubelet/pods/cdfd463f-0614-4312-8b3d-61dbc2f9392b/volume-subpaths/mq-nginx-volume/pod-nginx/0
    移除指定的文件后就可以正常删除了
    
    

    Q5 2379

    A5:
    检查网络配置是否正常

    常用指令

    查看etcd日志

    $ docker logs etcd
    

    Docker容器开机自启动设置

    启用开机自启动

    $ sudo systemctl enable docker
    

    禁用开机自启动

    $ sudo systemctl disable docker
    

    查看开机启动状态

    $ systemctl list-unit-files docker.service
    

    重新加载docker配置信息

    $ sudo systemctl daemon-reload
    

    重启docker

    $ sudo systemctl restart docker
    

    查看docker运行状态

    $ sudo systemctl status docker
    

    查看真正运行的容器

    $ docker ps
    

    查看所有的容器

    $ docker ps -a
    

    查看docker镜像

    $ docker images
    

    重置root的密码

    $ sudo passwd
    

    查看端口

    $ netstat -lntp
    

    重启

    $ sudo reboot
    或者
    $ sudo shutdown -r now
    

    拉取所需要的镜像

    docker pull registry:2
    docker pull rancher/hyperkube:v1.18.12-rancher1
    docker pull rancher/rke-tools:v0.1.66
    docker pull rancher/nginx-ingress-controller:nginx-0.35.0-rancher2
    docker pull rancher/rancher-agent:v2.4.8
    docker pull rancher/rancher:v2.4.8
    docker pull rancher/rke-tools:v0.1.64
    docker pull rancher/calico-node:v3.13.4
    docker pull rancher/calico-pod2daemon-flexvol:v3.13.4
    docker pull rancher/calico-cni:v3.13.4
    docker pull rancher/coredns-coredns:1.6.9
    docker pull rancher/coreos-flannel:v0.12.0
    docker pull rancher/kube-api-auth:v0.1.4
    docker pull rancher/coreos-etcd:v3.4.3-rancher1
    docker pull rancher/metrics-server:v0.3.6
    docker pull rancher/cluster-proportional-autoscaler:1.7.1
    docker pull rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1
    docker pull rancher/pause:3.1
    
    展开全文
  • docker集群搭建私服

    2022-01-22 21:25:01
    1.首先需要搭建docker swarm集群 如图,我们搭建了一个两个节点的集群 2.运行私服镜像 docker run -d -p 5000:5000 --name registry --restart=always registry (registry仓库默认开启5000端口) 3.docker配置...

    1.首先需要搭建好docker swarm集群
    如图,我们搭建了一个两个节点的集群
    在这里插入图片描述
    2.运行私服镜像
    docker run -d -p 5000:5000 --name registry --restart=always registry
    (registry仓库默认开启5000端口)
    在这里插入图片描述
    3.docker配置镜像仓库

    (1)让docker信任该私服
    vi /etc/docker/daemon.json

      { "insecure-registries":["myregistry:5000"] }
      <!--没有目录自己创建-->
    

    (2)修改host文件
    vi /etc/hosts 增加配置

    192.168.60.106 myregistry
    <!--192.168.60.106是主节点的IP,私服容器就运行在主节点上 -->
    

    其它工作节点配置私服也是以上两步

    4.重启docker查看是否成功
    重载docker配置 systemctl daemon-reload

    重启docker服务systemctl restart docker

    查看docker信息确认仓库是否添加docker info

    在这里插入图片描述
    5.向私服推送拉取镜像

    将本地cc8775c0fe94镜像打一个标签

    docker tag cc8775c0fe94  myregistry:5000/mysql:5.7.32
    

    推送到私服

     docker push myregistry:5000/mysql:5.7.32
    

    其它节点就可以从私服拉取该镜像

    docker pull myregistry:5000/mysql:5.7.32
    

    至此私服搭建成功

    6.以stack方式搭建私服
    上面的部署方式是部署成一个服务,如果想要部署到stack,可以把容器删除,然后编辑一个registry.yml文件

    version: '3.7'
    
    services:
    
      registry:
        image: registry:2
        ports:
          - 5000:5000
        volumes:
          - /storage/registry:/var/lib/registry
        networks:
          - default
        deploy:
          mode: replicated
          replicas: 1
          placement:
            constraints: [node.role == manager]
    
    networks:
      default:
    

    然后执行

    docker stack deploy --with-registry-auth --compose-file  registry.yml registry
    

    docker stack ls查看
    在这里插入图片描述

    展开全文
  • 为了在Docker集群中更好的管理查看日志 我们使用Docker 来搭建集群的ELK日志收集系统,这篇文章介绍了Docker构建ELK Docker集群日志收集系统的相关资料,需要的朋友可以参考下
  • Docker 本身就是基于 Linux 的,所以首先以我的一台服务器做实验。虽然最后跑 wordcount 已经由于内存不足而崩掉,但是之前的过程还是可以参考的。 连接服务器 使用 ssh 命令连接远程服务器。 ssh root@[Your IP ...
  • 使用Docker搭建部署Hadoop分布式集群 在网上找了很长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,只能自己写一个了。 一:环境准备: 1:首先要有一个Centos7操作系统,可以在虚拟机中安装...
  • 什么是Redis集群 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。 节点 一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是...
  • 通过使用 Docker,可以快速的在本地搭建一套 Spark 环境,方便大家开发 Spark 应用,或者扩展到...下面这篇文章主要给大家介绍了使用docker快速搭建Spark集群的方法教程,需要的朋友可以参考借鉴,下面来一起看看吧。
  • docker搭建kafka集群

    千次阅读 2022-03-24 23:36:35
    docker搭建kafka集群 我在M1 mbp上使用的以下镜像 新建文件zk-kafka-docker-compose.yml version: "2" services: zookeeper: user: root image: docker.io/zookeeper ports: - "12181:2181" environment: -...
  • 使用python脚本和docker部署mongodb集群, 支持多种角色, 并且支持, 复制集群和分片集群. 具体参数配置看脚本
  • 本篇文章主要介绍了docker搭建rabbitmq集群环境的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • Docker搭建etcd集群

    2021-02-25 01:08:47
    集群搭建3.API操作4.API说明和etcdctl命令说明etcd是CoreOS团队发起的一个开源项目(Go语言,其实很多这类项目都是Go语言实现的,只能说很强大),实现了分布式键值存储和服务发现,etcd和ZooKeeper/Consul非常相似...
  • Docker搭建RabbitMQ集群

    千次阅读 2022-01-15 14:42:08
    Docker搭建RabbitMQ集群
  • RabbitMQ——Docker搭建RabbitMQ集群

    千次阅读 2022-01-13 17:58:19
    文章目录RabbitMQ——Docker搭建RabbitMQ集群1、普通集群的搭建1.1、普通集群架构介绍1.2、环境准备1.3、集群搭建2、镜像集群的搭建2.1、配置镜像集群的策略 RabbitMQ——Docker搭建RabbitMQ集群 集群模式介绍 ...
  • Docker搭建MinIO集群

    千次阅读 2022-04-01 11:08:51
    准备三台机器、关闭防火墙、selinux、同步时间、配置主机名解析和安装好docker 我的三台节点分别是node4,node5,node6 创建脚本 #!/bin/bash docker run -d --network=host --name minio \ --restart=always \...
  • 本篇文章主要介绍了docker 搭建hadoop以及hbase集群详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 如何使用docker搭建Hadoop集群

    千次阅读 2022-02-16 21:06:04
    进入ubuntu 镜像容器docker exec -it 容器id /bin/bash 更新apt-get 系统源apt-get update 更新完后可以下载一些必须工具,如vim 安装sshd 在开启分布式Hadoop 时,需要用到ssh 连接slave 节点apt-
  • 本次集群搭建使用docker容器模拟服务器资源,因为要搭建三主三从集群,因此需要准备三个docker容器充当三台服务器资源。 本文中的容器使用搭建redis集群的三台容器,本次准备使用三台容器模拟中间件服务器,在三个...
  • swarm是docker公司自己的容器集群管理工具,本文介绍了使用docker 1.12 搭建多主机docker swarm集群,分享给大家 准备 准备至少两台的centos 7 主机(全新最小安装, 可以使用虚拟机安装) 开放端口2377 tcp端口, ...
  • docker搭建hadoop集群

    2021-06-08 14:42:37
    1.拉取hadoop镜像 docker pull docker.io/sequenceiq/hadoop-docker
  • docker搭建mongodb集群

    2021-11-03 15:16:40
    为MongoDB集群创建独立的docker网桥 docker network create --subnet=10.1.1.0/24 mongodbnet 3.准备MongoDB集群配置文件 Config-Server 配置文件 路径:/configsvr/mongod.conf 说明:MongoDB v3.4 之后...
  • Docker(六)----Swarm搭建Docker集群

    万次阅读 2018-05-27 15:37:42
    一、什么是SwarmSwarm这个项目名称特别贴切。...Swarm项目正是这样,通过把多个Docker Engine聚集在一起,形成一个大的docker-engine,对外提供容器的集群服务。同时这个集群对外提供Swarm API,用户可以像使用Dock...
  • docker容器下搭建kong的集群很简单,官网介绍的也很简单,初学者也许往往不知道如何去处理,经过本人的呕心沥血的琢磨,终于搭建出来了。 主要思想:不同的kong连接同一个数据库(就这么一句话) 难点:如何在不同的...
  • docker系列教程之集群搭建

    千次阅读 2020-09-25 18:29:04
    一、Docker Machine Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。 Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器...
  • Docker搭建Clickhouse集群

    千次阅读 2022-03-01 09:26:28
    Docker搭建Clickhouse集群 环境说明 2C 2G 30G hostname IP 操作系统 服务 localhost 192.168.88.171 CentOs 7.8 clickhouse-server zookeeper kafka localhost 192.168.88.172 CentOs 7.8 clickhouse-...
  • Docker Swarm集群搭建

    2021-12-15 16:35:21
    Docker Swarm集群搭建1 背景2 环境3 安装部署3.1 操作系统部署3.1.1 主机名设置3.1.2 网络设置3.1.3 端口设置3.2 中间件部署3.2.1 ansible安装3.2.1.1 安装3.2.1.2 配置3.2.1.3 测试3.2.1.4 批量开具端口3.2.2 yum源...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,024
精华内容 20,809
关键字:

docker集群搭建