10分钟部署到落地 Dokcer、Rancher、K8S、Harbor

系统工具

工具:vmware fusion(虚拟机软件)
系统镜像:centos 7.2(比较稳定的linux系统)
安装软件:Docker、Rancher、K8s、Harbor


基础配置

这里只要求有个linux环境来操作,我选择centos比较方便一点,其它的系统类似。

  1. 在vmware fusion在安装centos镜像,配置手动设置最低配置 内存4G,核心2

  2. 使用命令ifconfig查看系统ip

    如果ifconfig提示命令不存在,执行yum install net-tools之后重新输入
    我在安装CentOS7的时候选择了最小安装,有些包需要手动来安装。

    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.237.151  netmask 255.255.255.0  broadcast 192.168.237.255
        inet6 fe80::d76d:a56a:4c21:8f36  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e5:c9:51  txqueuelen 1000  (Ethernet)
        RX packets 297190  bytes 409971384 (390.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 112724  bytes 8214313 (7.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    这里可以看到 inet 192.168.237.151,这个是我们的系统IP。

  3. 将系统的IP设置为静态,避免使用过程中IP变动导致Rancher/k8s不可用

    • vi /etc/sysconfig/network-scripts/ifcfg-ens33
      BOOTPROTO="static" #修改为静态,默认为dhcp
      IPADDR="192.168.237.151" #静态ip地址
      NETMASK="255.255.255.0" #子网掩码,固定这么写
      GATEWAY="192.168.237.2" #网关地址,前三个网段取ip地址,最后一位填2
      DNS1="192.168.237.2" #DNS服务器,前三个网段取ip地址,最后一位填2
      
    • 保存后重启 service network restart
  4. 执行ping www.baidu.com,查看网络连接是否正常。如果连接正常则往下操作,否则请确认设置静态IP是否正确以及网卡是否没有启用


安装Docker

  1. 卸载旧版本,防止互相干扰

    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine
    
  2. 安装依赖

    sudo yum install -y yum-utils \
               device-mapper-persistent-data \
               lvm2
    
  3. 切换到国内镜像源

    sudo yum-config-manager \
        --add-repo \
        https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
    
  4. 安装Docker
    更新 yum软件源缓存,并安装 docker-ce

    sudo yum makecache fast
    sudo yum install docker-ce
    
  5. 启动Docker

    sudo systemctl enable docker //设置开机启动
    sudo systemctl start docker //启动Docker
    
  6. 测试Dokcer是否正常运行
    执行命令:docker run hello-world

    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    d1725b59e92d: Pull complete
    Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/get-started/
    

    若能正常输出以上信息,则说明安装成功。

  7. 配置镜像加速
    执行 sudo vi /etc/docker/daemon.json,并添加如下内容:

    如果没有目录请手动创建
    MacOS\Windows搜索一下配置方法,本质是一样的

    {
      "registry-mirrors": [
        "https://dockerhub.azk8s.cn",
        "https://hub-mirror.c.163.com"
      ]
    }
    

    保存之后执行命令重启服务:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

建议备份系统

因为很多人都在装完Docker之后各种翻车,为了能更方便的练习整个部署过程,建议对系统、虚拟机进行备份。
我这里直接是通过vmware fusion选择系统右键拷贝,也可以设置快照。

通过Rancher来构建K8s集群

安装 Rancher(V2.x)

  1. 安装Rancher镜像

    docker pull rancher/rancher
    
  2. 查看镜像是否在列表

    docker image ls
    
  3. 查看Rancher镜像详细信息

    docker inspect rancher/rancher:latest
    
  4. 在宿主机创建两个挂载目录

    mkdir -p /docker_volume/rancher_home/rancher
    mkdir -p /docker_volume/rancher_home/auditlog
    
  5. 启动Rancher容器

    docker run -d --restart=unless-stopped -p 80:80 -p 443:443 \
    -v /docker_volume/rancher_home/rancher:/var/lib/rancher \
    -v /docker_volume/rancher_home/auditlog:/var/log/auditlog \
    --name rancher rancher/rancher 
    
  6. 查看刚才启动的容器信息

    docker container ls
    

Rancher可视化管理

  1. 访问rancher的管理web页面:https://192.168.237.151
    在这里插入图片描述

  2. 第一次进是需要设置密码

    如果登录失败了
    执行 docker ps | grep rancher/rancher
    执行 docker container restart ContainerID,ContainerID是上面查找出来的ID。

  3. 进到主页面先添加集群
    在这里插入图片描述

    • 选择自定义
      在这里插入图片描述
    • 输入名字直接下一步
      在这里插入图片描述
      在这里插入图片描述
    • 第一次添加需要都勾选
      在这里插入图片描述
    • 之后再终端执行命令,然后点击完成。
      在这里插入图片描述
    1. 等待安装完成显示 Active

安装私有镜像服务器 Harbor

需要安装两个软件docker-compose,harbor,这里采取离线安装的方法避免翻车。

Harbor的官方仓库
docker-compose官方仓库

我的当前使用版本
Harbor: v1.10.1
docker-compose:1.26.0-rc2

这里使用的的Docker版本是19.x的,需要搭配新版的docker-compose来安装harbor,否则容易翻车。
可以使用迅雷下载等工具加快下载的过程

到这里你应该已经下载完毕了
在这里插入图片描述
在这里插入图片描述

  1. 解压 harbor-offline-installer-v1.10.1.tgz
    在这里插入图片描述
  2. 之后打开 harbor.yml这个文件,如果你只是用来自己测试的可以避免一些证书的配置。
    在这里插入图片描述
    因为我这里Dokcer是部署在CentOS的主机上,所以这里将文件先考到CentOS
    scp ./harbor/* [email protected]:~/harbor/  #如果上传失败手动创建目录
    scp ./docker-compose [email protected]:/usr/local/bin/docker-compose #上传到bin目录
    chmod 777 /usr/local/bin/docker-compose # 授权docker-compose操作权限
    
  3. 之后输入命令确认操作成功
    docker-compose version
    
    在这里插入图片描述
  4. 安装Harbor
    cd ~/harbor/ #因为之前我是拷贝到这个目录,其它目录同理。
    ./prepare #准备环境
    ./install.sh #安装harbor
    

    在执行./prepare之前务必已经修改了harbor.yml这个文件

    等待安装完毕…
    在这里插入图片描述
  5. 打开浏览器 192.168.237.151:88,ip使用自己的。
    在这里插入图片描述
  6. 登录后台
    输入账号 :admin
    输入密码:Harbor12345
    登录成功…!

    密码在那个harbor.yml查看这个字段 harbor_admin_password: 密码


一些常用的操作

到这里已经安装完Dokcer、Rancher、Kubernetes、Harbor集群服务
但是目前Harbor是没有办法进行Pull、Push等操作的。

  1. 授权访问私有仓库
    vim /etc/docker/daemon.json

    {
      "registry-mirrors": [
        "https://dockerhub.azk8s.cn",
        "https://hub-mirror.c.163.com"
      ],
      "insecure-registries": [
        "192.168.237.151:88" #这个就是Harbor路径,因为镜像推上去之后要授权docker访问这个私有仓库
      ]
    }
    
  2. 重启Harbor、Docker

    docker-compose stop
    systemctl daemon-reload
    systemctl restart docker
    docker-compose up -d
    

    需要注意 docker-compose的相关命令需要在之前上传的 ~./harbor这个目录里面执行,目录里有个 docker-compose.yml文件,如果放在别的地方就到那个地方的目录里执行。

  3. 之后登陆私有仓库进行 Pull、Push

    docker login --username=admin http://192.168.237.151:88/ 
    

    admin为账号,可以修改 密码为仓库登陆密码
    在这里插入图片描述

  4. 在Harbor后台创建项目并联系推送镜像

    1. 创建项目
    2. 进入项目
    3. 点击镜像仓库
    4. 查看相关操作方法。
      在这里插入图片描述
      5.操作命令,意思是将本地打包的镜像修改成一个符合 harbor格式的镜像名,之后上传这个镜像。
      docker tag ImageID[:TAG] 192.168.237.151:88/goland/gin[:TAG]
      docker push 192.168.237.151:88/goland/ImageID[:TAG]
  5. 可以看到上传的镜像,这里可以直接复制Pull命令
    在这里插入图片描述

  6. 然后在选择镜像的时候将命令粘贴进去部署。
    在这里插入图片描述
    在这里插入图片描述

好了 大工告成,感谢收看!

发布了48 篇原创文章 · 获赞 5 · 访问量 2813

猜你喜欢

转载自blog.csdn.net/weixin_42322309/article/details/104570012