• 修炼k8s+flink+hdfs+dlink(五:安装dockers,cri-docker,harbor仓库,k8s)


    一:安装docker。(所有服务器都要安装)

    1. 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
    • 1
    1. 添加软件源信息
    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1
    sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
    
    • 1
    1. 更新并安装Docker-CE
    sudo yum makecache fast
    sudo yum -y install docker-ce
    
    • 1
    • 2
    1. 开启Docker服务
    sudo service docker start
    
    • 1
    1. 设置开机自启动
    systemctl enable docker
    
    • 1
    1. 测试
    docker version
    
    • 1
    1. 配置加速器,注意:在除了harbor仓库的机器上进行配置
    cat >> /etc/docker/daemon.json <<-EOF
    {
    	"registry-mirrors": [
    	"http://74f21445.m.daocloud.io",
    	"https://registry.docker-cn.com",
    	"http://hub-mirror.c.163.com",
    	"https://docker.mirrors.ustc.edu.cn"
    	],
    	"insecure-registries": ["node01"],
    	"exec-opts": ["native.cgroupdriver=systemd"]
    }
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    9.重启docker服务

    systemctl restart docker
    
    • 1
    1. 检查
    docker info
    
    • 1

    在这里插入图片描述

    二:安装cri-docker。(所有服务器都要安装)

    1.下载安装。

    mkdir -p /data/softs 
    cd /data/softs
    wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.2/cri-dockerd-0.3.2.amd64.tgz
    
    • 1
    • 2
    • 3
    1. 解压软件
    tar xf cri-dockerd-0.3.2.amd64.tgz
    mv cri-dockerd/cri-dockerd /usr/local/bin/
    
    • 1
    • 2
    1. 检查效果
    cri-dockerd --version
    
    • 1

    在这里插入图片描述

    1. 创建 cri-docker.service
    cat > /etc/systemd/system/cri-docker.service <<-EOF
    [Unit]
    Description=CRI Interface for Docker Application Container Engine
    Documentation=https://docs.mirantis.com
    After=network-online.target firewalld.service docker.service
    Wants=network-online.target
    Requires=cri-docker.socket
    [Service]
    Type=notify
    ExecStart=/usr/local/bin/cri-dockerd --container-runtime-endpoint fd://
    ExecReload=/bin/kill -s HUP $MAINPID
    TimeoutSec=0
    RestartSec=2
    Restart=always
    StartLimitBurst=3
    StartLimitInterval=60s
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    TasksMax=infinity
    Delegate=yes
    KillMode=process
    [Install]
    WantedBy=multi-user.target
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    1. 创建 cri-docker.socket
    cat > /etc/systemd/system/cri-docker.socket <<-EOF
    [Unit]
    Description=CRI Docker Socket for the API
    PartOf=cri-docker.service
    
    [Socket]
    ListenStream=%t/cri-dockerd.sock
    SocketMode=0660
    SocketUser=root
    SocketGroup=docker
    
    [Install]
    WantedBy=sockets.target
    EOF
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    1. 启动cri-docker
    sudo systemctl daemon-reload
    sudo systemctl start cri-docker
    sudo systemctl status cri-docker
    
    • 1
    • 2
    • 3

    三:安装harbor。(指定一台)

    1. 安装docker-compose.
    yum -y insta11  docker-compose
    
    • 1
    1. 下载软件.
    mkdir /data/{softs,server} -p && cd /data/softs
    wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
    tar -zxvf harbor-offline-installer-v2.5.0.tgz
    mv harbor /data/server/harbor
    cd /data/server/harbor/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 加载镜像。
    docker load < harbor.v2.5.0.tar.gz
    docker images
    
    • 1
    • 2

    在这里插入图片描述
    4. 备份配置。

    cp harbor.yml.tmpl  harbor.yml
    vim harbor.yml
    1. 更换名称
    2. 禁用http的服务
    3. 更改密码
    4. 设置数据路径。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    在这里插入图片描述
    ./prepare
    ./install.sh
    docker-compose ps

    在这里插入图片描述
    5. 定制服务启动文件。

    docker-compose down
    vim /etc/systemd/system/harbor.service
    
    • 1
    • 2
    [Unit]
    Description=Harbor
    After=docker.service systemd-networkd.service systemd-resolved.service
    Requires=docker.service
    Documentation=http://github.com/vmware/harbor
    
    [Service]
    Type=simp1e
    Restart=on-failure
    RestartSec=5
    #需要注意harbor的安装位置
    ExecStart=/usr/bin/docker-compose --file /data/server/harbor/docker-compose.yml up
    ExecStop=/usr/bin/docker-compose --file /data/server/harbor/docker-compose.yml down
    [Install]
    WantedBy=multi-user.target
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    加载服务配置文件
    systemctl daemon-reload
    启动服务
    systemctl start harbor
    检查状态
    systemctl status harbor
    设置开机自启动
    systemctl enable harbor
    
    docker-compose ps
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    四. 页面化定制仓库。

    1. 新建用户。
      在这里插入图片描述
    2. 新建项目。
      在这里插入图片描述
    3. 如何提交镜像。
      第一步:镜像打标签。
      格式: docker tag 服务名称 harbor地址/仓库名称/服务器名称:对应版本号
    docker tag aaa node01/zzy/aaa:v01
    
    • 1

    第二步:登录harbor。

    第三步:提交镜像。
    docker push harbor地址/仓库名称/服务器名称:对应版本号

    案例:所有节点都需要进行下面的验证。

    https://blog.csdn.net/qq_47354826/article/details/115465461

    在node03
    docker pull nginx
    docker pull tomcat
    docker images
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    打标签
    docker history nginx:latest
    在这里插入图片描述

    docker tag nginx:latest  node01/zzy/nginx:1.25.2
    docker images
    
    • 1
    • 2

    在这里插入图片描述
    2. 登录

    docker login node01
    
    • 1

    在这里插入图片描述
    3. 推送

    docker push node01/zzy/nginx:1.25.2
    
    • 1

    五:搭建k8s。

    1. 软件源定制
      定制阿里云的关于kubernetes的软件源(三台)
    cat > /etc/yum.repos.d/kubernetes.repo << EOF
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1. 安装软件。
      在node和master上都执行命令。
    yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
    
    • 1

    master节点。

    systemctl enable kubelet
    systemctl start kubelet
    systemctl status kubele
    
    • 1
    • 2
    • 3
    1. 主节点初始化
    kubeadm init --apiserver-advertise-address=10.0.0.247 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 
    
    • 1
    mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
    • 1
    • 2
    • 3
    1. 工作节点加入集群

    https://blog.csdn.net/qq_39261894/article/details/109013696

    1. 启动自动补全命令
    yum install bash-completion -y
    source /usr/share/bash-completion/bash_completion
    vim .bashrc
    source <(kubectl completion bash)
    
    source <(kubeadm completion bash)
    
    source .hashrc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    1. 网络
      下载flannel插件的yml
    wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
    • 1

    修改kube-flannel.yml中的镜像仓库地址为国内源

    sed -i 's/quay.io/quay-mirror.qiniu.com/g' kube-flannel.yml
    
    • 1

    安装网络插件

    kubectl apply -f kube-flannel.yml
    
    • 1
  • 相关阅读:
    docker
    C++11新特性学习笔记
    linux 安装gradle7.4.2环境
    计算机的进制转换
    「iOS」暑假第一周 —— ZARA的仿写
    【owt】owt-client-native-p2p-e2e-test vs2017构建 6:修改脚本自动生成vs工程
    【LeetCode: 2578. 最小和分割 | 贪心】
    Linux环境变量
    为机器学习算法准备数据(Machine Learning 研习之八)
    从GPFS到NAS:共享文件系统使用之变革
  • 原文地址:https://blog.csdn.net/weixin_43446246/article/details/133860639