温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何实现一键自动安装Docker

发布时间:2021-11-26 15:12:55 阅读:359 作者:小新 栏目:互联网科技
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章给大家分享的是有关如何实现一键自动安装Docker的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1)创建虚拟机

准备自动化创建VM的脚本

checkout 用于创建 KVM Guest 的 Ansible 脚本。

cd ~/devenv_bootstrap/git clone git@github.com:dhyuan/virt-infra-ansible.gitcd ~/devenv_bootstrap/virt-infra-ansible/rolesgit clone https://github.com/dhyuan/ansible-role-virt-infra.gitcd ansible-role-virt-infragit checkout -b devenvgit branch --set-upstream-to origin/devenvgit pull

基于自己的情况修改在 inventory 中定义的虚拟机参数

vi ~/devenv_bootstrap/virt-infra-ansible/k8s_masters.ymlvi ~/devenv_bootstrap/virt-infra-ansible/k8s_nodes.yml

如果我们希望利用 DHCP 服务让这些机器拥有固定的 IP,那么我们这里可以给虚拟机设置 mac 地址。

创建虚拟机

ansible-playbook ./virt-infra.yml \--limit kvmhost,k8s_masters,k8s_nodes

启动虚拟机

ansible-playbook ./virt-infra.yml \--limit kvmhost,k8s_masters,k8s_nodes \--extra-vars virt_infra_state=running

停止虚拟机

ansible-playbook ./virt-infra.yml \--limit kvmhost,k8s_masters,k8s_nodes \--extra-vars virt_infra_state=shutdown

删除虚拟机

强烈建议用 ansible 删除虚拟机,因为 KVM HOST 上的 hosts 文件、ssh 的一些配置也要修改。

ansible-playbook ./virt-infra.yml \--limit kvmhost,k8s_masters,k8s_nodes \--extra-vars virt_infra_state=undefined

更新虚拟机

ansible-playbook --ask-become-pass --inventory ./inventory ansible/update-vms.yaml

2)虚拟机准备完毕,下面开始安装docker。

在 KVMHost 上安装 docker role

ansible-galaxy install \--roles-path ~/.ansible/roles/ \git+https://github.com/haxorof/ansible-role-docker-ce.git,2.7.0#ansible-galaxy list

其代码保存在 ~/.ansible/roles/ansible-role-docker-ce

创建安装 docker 的 playbook

可以看到这里使用了国内docker镜像源,以提高下载速度。对于私有云环境,可以设置为自己内部镜像库地址。

[devops@192 virt-infra-ansible]$ cat install_docker.yml---- hosts: all,!kvmhost  vars:    docker_version: 19.03.8    docker_remove_pre_ce: false    docker_users: [devops]    docker_daemon_config:      registry-mirrors:        [          "http://ovfftd6p.mirror.aliyuncs.com",          "http://registry.docker-cn.com",          "http://docker.mirrors.ustc.edu.cn",          "http://hub-mirror.c.163.com",        ]      insecure-registries: ["docker.mirrors.ustc.edu.cn"]  roles:    - role: ansible-role-docker-ce[devops@192 virt-infra-ansible]$

在所有 k8s 节点上安装 docker engine。

这里的重点是使用了国内ali的docker-ce源。

ansible-playbook ./install_docker.yml \--limit k8s_masters,k8s_nodes -v \-e '{"docker_repository_url": {"CentOS": "http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo"}}'

登录到 master、nodes 节点确认 docker 安装成功。

感谢各位的阅读!关于“如何实现一键自动安装Docker”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4769248/blog/4700144

AI

开发者交流群×