当前位置: 首页 > news >正文

Kubernetes学习笔记-Part.06 Docker安装

目录
Part.01 Kubernets与docker
Part.02 Docker版本
Part.03 Kubernetes原理
Part.04 资源规划
Part.05 基础环境准备
Part.06 Docker安装
Part.07 Harbor搭建
Part.08 K8s环境安装
Part.09 K8s集群构建
Part.10 容器回退

第六章 Docker安装

在master、worker、harbor上均需要安装

6.1.准备安装文件

在外网服务器上,下载安装docker-ce的相关rpm安装文件

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install --downloadonly --downloaddir=/opt/docker-ce docker-ce docker-ce-cli

将下载好的安装文件上传到master01上的/opt/docker-ce中

6.2.制作repo文件

在master01上,创建repo的镜像源

cp -r /opt/docker-ce/ /var/www/html/
yum install createrepo -y
createrepo /var/www/html/docker-ce/

为所有节点创建repo文件

ansible all -m yum_repository -a 'name="docker-ce" description="docker-ce" baseurl="http://master01.k8s.local/docker-ce" enabled=yes gpgcheck=no'
ansible all -m shell -a 'yum clean all'
ansible all -m shell -a 'yum update -y'

6.3.安装docker

通过ansible的yum模块安装docker-ce和docker-ce-cli

ansible all -m yum -a 'name=docker-ce,docker-ce-cli state=present'

设置docker服务随机启动

ansible all -m service -a 'name=docker state=started enabled=yes'
ansible all -m shell -a 'systemctl status docker'

安装完成后查看版本

[root@master01 ansible]# ansible all -m shell -a 'docker version'
192.168.111.1 | CHANGED | rc=0 >>
Client: Docker Engine - CommunityVersion:           23.0.5API version:       1.42Go version:        go1.19.8Git commit:        bc4487aBuilt:             Wed Apr 26 16:18:56 2023OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          23.0.5API version:      1.42 (minimum version 1.12)Go version:       go1.19.8Git commit:       94d3ad6Built:            Wed Apr 26 16:16:35 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.20GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38runc:Version:          1.1.5GitCommit:        v1.1.5-0-gf19387adocker-init:Version:          0.19.0GitCommit:        de40ad0
192.168.111.3 | CHANGED | rc=0 >>
Client: Docker Engine - CommunityVersion:           23.0.5API version:       1.42Go version:        go1.19.8Git commit:        bc4487aBuilt:             Wed Apr 26 16:18:56 2023OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          23.0.5API version:      1.42 (minimum version 1.12)Go version:       go1.19.8Git commit:       94d3ad6Built:            Wed Apr 26 16:16:35 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.20GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38runc:Version:          1.1.5GitCommit:        v1.1.5-0-gf19387adocker-init:Version:          0.19.0GitCommit:        de40ad0
192.168.111.11 | CHANGED | rc=0 >>
Client: Docker Engine - CommunityVersion:           23.0.5API version:       1.42Go version:        go1.19.8Git commit:        bc4487aBuilt:             Wed Apr 26 16:18:56 2023OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          23.0.5API version:      1.42 (minimum version 1.12)Go version:       go1.19.8Git commit:       94d3ad6Built:            Wed Apr 26 16:16:35 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.20GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38runc:Version:          1.1.5GitCommit:        v1.1.5-0-gf19387adocker-init:Version:          0.19.0GitCommit:        de40ad0
192.168.111.2 | CHANGED | rc=0 >>
Client: Docker Engine - CommunityVersion:           23.0.5API version:       1.42Go version:        go1.19.8Git commit:        bc4487aBuilt:             Wed Apr 26 16:18:56 2023OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          23.0.5API version:      1.42 (minimum version 1.12)Go version:       go1.19.8Git commit:       94d3ad6Built:            Wed Apr 26 16:16:35 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.20GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38runc:Version:          1.1.5GitCommit:        v1.1.5-0-gf19387adocker-init:Version:          0.19.0GitCommit:        de40ad0
192.168.111.12 | CHANGED | rc=0 >>
Client: Docker Engine - CommunityVersion:           23.0.5API version:       1.42Go version:        go1.19.8Git commit:        bc4487aBuilt:             Wed Apr 26 16:18:56 2023OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          23.0.5API version:      1.42 (minimum version 1.12)Go version:       go1.19.8Git commit:       94d3ad6Built:            Wed Apr 26 16:16:35 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.20GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38runc:Version:          1.1.5GitCommit:        v1.1.5-0-gf19387adocker-init:Version:          0.19.0GitCommit:        de40ad0
192.168.111.20 | CHANGED | rc=0 >>
Client: Docker Engine - CommunityVersion:           23.0.5API version:       1.42Go version:        go1.19.8Git commit:        bc4487aBuilt:             Wed Apr 26 16:18:56 2023OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          23.0.5API version:      1.42 (minimum version 1.12)Go version:       go1.19.8Git commit:       94d3ad6Built:            Wed Apr 26 16:16:35 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.20GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38runc:Version:          1.1.5GitCommit:        v1.1.5-0-gf19387adocker-init:Version:          0.19.0GitCommit:        de40ad0

6.4.修改docker默认IP

docker默认分配IP为172.17.0.1/16,可能与实际生产环境IP冲突,因此需要根据实际情况对docker分配IP进行调整

[root@master01 ansible]# ansible all -m shell -a 'ifconfig docker0'
192.168.111.1 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255ether 02:42:bd:49:a1:7f  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.3 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255ether 02:42:0d:24:ee:3c  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.12 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255ether 02:42:68:ae:0f:71  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.2 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255ether 02:42:dc:e5:f5:cd  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.11 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255ether 02:42:4a:68:55:68  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.20 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255ether 02:42:69:ed:42:5d  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker安装后默认没有daemon.json这个配置文件,需要进行手动创建。配置文件的默认路径:/etc/docker/daemon.json
该文件作为Docker Engine的配置管理文件,里面几乎涵盖了所有docker命令行启动可以配置的参数。不管是在哪个平台以何种方式启动,Docker默认都会来这里读取配置。使用户可以统一管理不同系统下的docker daemon配置。
如果在daemon.json文件中进行配置,需要docker版本高于1.12.6(在这个版本上不生效,1.13.1以上是生效的)。
配置docker分配IP段为1.1.1.1/24

{"bip": "1.1.1.1/24"
}

将daemon.json文件分发至其他节点上

ansible all -m template -a 'src=/etc/docker/daemon.json dest=/etc/docker/'

重启服务

ansible all -m systemd -a 'daemon_reload=yes'
ansible all -m service -a 'name=docker state=restarted'

查看IP确认

[root@master01 ansible]# ansible all -m shell -a 'ifconfig docker0'
192.168.111.3 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 1.1.1.1  netmask 255.255.255.0  broadcast 1.1.1.255ether 02:42:0d:24:ee:3c  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.11 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 1.1.1.1  netmask 255.255.255.0  broadcast 1.1.1.255ether 02:42:4a:68:55:68  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.2 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 1.1.1.1  netmask 255.255.255.0  broadcast 1.1.1.255ether 02:42:dc:e5:f5:cd  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.1 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 1.1.1.1  netmask 255.255.255.0  broadcast 1.1.1.255ether 02:42:bd:49:a1:7f  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.12 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 1.1.1.1  netmask 255.255.255.0  broadcast 1.1.1.255ether 02:42:68:ae:0f:71  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
192.168.111.20 | CHANGED | rc=0 >>
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 1.1.1.1  netmask 255.255.255.0  broadcast 1.1.1.255ether 02:42:69:ed:42:5d  txqueuelen 0  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
http://www.lryc.cn/news/252373.html

相关文章:

  • 现在的00后,实在是太卷了......
  • Maven项目目录结构
  • 感慨!一路从测试小白到现在的高级测试工程师,方向不对真的很艰辛
  • 字符串经典基础面试题
  • 【华为OD题库-062】计算礼品发放的最小分组数目-java
  • [go 面试] 构建高效微服务通信:选择合适的通信方式
  • 【华为OD题库-048】拔河比赛-java
  • 【WebSocket】通信协议基于 node 的简单实践和心跳机制和断线重连的实现
  • 【有ISSN、ISBN号!往届均已完成EI检索】第三届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT 2024)
  • 【Windows】使用SeaFile搭建本地私有云盘并结合内网穿透实现远程访问
  • Windows本地搭建WebDAV服务并使用内网穿透远程访问【无公网IP】
  • 责任链设计模式
  • 12.4 C++ 作业
  • 基于ssm品牌会员在线商城源码
  • 骨传导耳机音量大了有害吗?骨传导能保护听力吗?
  • 百望云供应链协同解决方案入选北大创新评论产业研究案例库
  • selenium中元素定位正确但是操作失败,6种解决办法全搞定
  • 触控板绘画工具Inklet mac功能介绍
  • 〔005〕虚幻 UE5 像素流多用户部署
  • 11. 哈希冲突
  • 12.04 二叉树中等题
  • Redis的安装
  • JDK安装太麻烦?一篇文章搞定
  • 漫谈HBuilderX App-Jenkins热更新构建
  • 技术前沿丨Teranode如何实现无限扩容
  • 世岩清上:如何制作年终工作汇报宣传片
  • 练习十一:简单卷积器的设计
  • 外包干了4年,技术退步太明显了。。。。。
  • 微服务实战系列之EhCache
  • SpringBoot:SpringMVC(上)