缺省安装的k3s使用的是containerd作为容器运行环境,如果希望使用Docker作为容器运行环境,只需要在安装时通过环境变量INSTALL_K3S_EXEC指定--docker即可。这篇文章具体介绍一下具体的安装与部署方法。

步骤1: 安装Docker

现在Docker官方已经提供了一键脚本,可以直接使用进行安装,安装命令如下所示:

curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

安装日志如下所示:

[root@liumiaocn ~]# curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
# Executing docker install script, commit: f45d7c11389849ff46a6b4d94e0dd1ffebca32c1
+ sh -c 'yum install -y -q yum-utils'
warning: /var/cache/yum/x86_64/7/base/packages/python-chardet-2.2.1-3.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for python-chardet-2.2.1-3.el7.noarch.rpm is not installed
Importing GPG key 0xF4A80EB5:Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5Package    : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
+ sh -c 'yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo'
Loaded plugins: fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
+ '[' stable '!=' stable ']'
+ sh -c 'yum makecache'
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirror.bit.edu.cn* extras: mirrors.neusoft.edu.cn* updates: mirror.bit.edu.cn
base                                                                                                             | 3.6 kB  00:00:00
docker-ce-stable                                                                                                 | 3.5 kB  00:00:00
extras                                                                                                           | 2.9 kB  00:00:00
updates                                                                                                          | 2.9 kB  00:00:00
(1/10): docker-ce-stable/x86_64/filelists_db                                                                     |  18 kB  00:00:01
(2/10): docker-ce-stable/x86_64/updateinfo                                                                       |   55 B  00:00:01
(3/10): base/7/x86_64/other_db                                                                                   | 2.6 MB  00:00:01
(4/10): docker-ce-stable/x86_64/primary_db                                                                       |  37 kB  00:00:00
(5/10): docker-ce-stable/x86_64/other_db                                                                         | 111 kB  00:00:00
(6/10): extras/7/x86_64/other_db                                                                                 | 100 kB  00:00:00
(7/10): base/7/x86_64/filelists_db                                                                               | 7.3 MB  00:00:02
(8/10): extras/7/x86_64/filelists_db                                                                             | 207 kB  00:00:00
(9/10): updates/7/x86_64/other_db                                                                                | 267 kB  00:00:00
(10/10): updates/7/x86_64/filelists_db                                                                           | 2.7 MB  00:00:03
Metadata Cache Created
+ '[' -n '' ']'
+ sh -c 'yum install -y -q docker-ce'
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-19.03.5-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Public key for docker-ce-19.03.5-3.el7.x86_64.rpm is not installed
Importing GPG key 0x621E9F35:Userid     : "Docker Release (CE rpm) <docker@docker.com>"Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35From       : https://download.docker.com/linux/centos/gpg
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:sudo usermod -aG docker your-userRemember that you will have to log out and back in for this to take effect!WARNING: Adding a user to the "docker" group will grant the ability to runcontainers which can be used to obtain root privileges on thedocker host.Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surfacefor more information.
[root@liumiaocn ~]#

由于官方脚本中很贴心的加的有set -x,执行时的调试信息也进行了显示,可以看到就是yum仓库的设定然后进行安装的方式。另外由于此处是root用户,提示如果希望使用普通用户,然后将将此用户添加到docker组中,但是同时会将此用户赋予对宿主机进行一部分特权的风险(其实就是sbit的权限),这里就不再关注。上述安装完成之后,通过docker version即可确认到版本信息。

[root@liumiaocn ~]# docker version
Client: Docker Engine - CommunityVersion:           19.03.5API version:       1.40Go version:        go1.12.12Git commit:        633a0eaBuilt:             Wed Nov 13 07:25:41 2019OS/Arch:           linux/amd64Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[root@liumiaocn ~]#

启动Docker服务

[root@liumiaocn ~]# systemctl start docker
[root@liumiaocn ~]#

可以看到containerd和runc的版本信息

[root@liumiaocn ~]# docker version
Client: Docker Engine - CommunityVersion:           19.03.5API version:       1.40Go version:        go1.12.12Git commit:        633a0eaBuilt:             Wed Nov 13 07:25:41 2019OS/Arch:           linux/amd64Experimental:      falseServer: Docker Engine - CommunityEngine:Version:          19.03.5API version:      1.40 (minimum version 1.12)Go version:       go1.12.12Git commit:       633a0eaBuilt:            Wed Nov 13 07:24:18 2019OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.2.10GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339runc:Version:          1.0.0-rc8+devGitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657docker-init:Version:          0.18.0GitCommit:        fec3683
[root@liumiaocn ~]#

虽然贴了这么多日志,但实际上到目前只有一个一键安装脚本的执行和一条systemctl语句的服务启动Docker的安装就完成了。

步骤2: 安装k3s

可以使用如下命令进行安装:

环境变量方式:curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC=“server --docker” sh -s -

或者

直接传参方式:curl -sfL https://get.k3s.io | sh -s - server --docker

这里使用直接传参方式,安装日志如下所示

[root@liumiaocn ~]# curl -sfL https://get.k3s.io | sh -s - server --docker
[INFO]  Finding latest release
[INFO]  Using v1.0.0 as release
[INFO]  Downloading hash https://github.com/rancher/k3s/releases/download/v1.0.0/sha256sum-amd64.txt
[INFO]  Downloading binary https://github.com/rancher/k3s/releases/download/v1.0.0/k3s
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  SELinux is enabled, setting permissions
which: no kubectl in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
which: no crictl in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Skipping /usr/local/bin/ctr symlink to k3s, command exists in PATH at /usr/bin/ctr
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink from /etc/systemd/system/multi-user.target.wants/k3s.service to /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s
[root@liumiaocn ~]#

确认容器运行环境

[root@liumiaocn ~]# kubectl get node -o wide
NAME        STATUS   ROLES    AGE   VERSION         INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
liumiaocn   Ready    master   99s   v1.16.3-k3s.2   192.168.163.143   <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://19.3.5
[root@liumiaocn ~]#

可以看到此处提示的DONTAINER-RUNTIME(容器运行环境也称为容器运行时)为docker的19.3.5版本,正是前面刚刚安装的Docker版本。比较一下缺省安装方式下的k3s,可以看到缺省方式下k3s是直接使用containerd。

[root@liumiaocn ~]# kubectl get node -o wide
NAME        STATUS   ROLES    AGE     VERSION         INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
liumiaocn   Ready    master   3m38s   v1.16.3-k3s.2   192.168.163.143   <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   containerd://1.3.0-k3s.4
[root@liumiaocn ~]#

详细可参看:https://liumiaocn.blog.csdn.net/article/details/103234225

总结

相较于kubernetes的每次release note中提到的简单的部署方式,k3s宣称的简单,在使用起来确实简单。使用docker作为容器运行环境,是否多余放在一边,实际中已经有很多在Docker基础上运行的系统,这种方式会减少对既存系统的影响。

轻量级Kubernetes之k3s:2:使用docker作为容器运行环境相关推荐

  1. Docker 搭建 PHP 运行环境

    本篇概要: 1. 安装 Docker.使用 PHP 官方镜像运行 PHP 程序: 2. Docker 多容器运行 PHP + fpm + Apache: 3. 使用 Docker-compose 编排 ...

  2. 轻量级Kubernetes之k3s:16:源码编译k3s

    这篇文章介绍一下源码编译k3s的方法. 事前准备 go语言环境 go语言版本需要go 1.12,本文示例使用1.13.5[root@liumiaocn ~]# go version go versio ...

  3. 使用 Docker 搭建 Tomcat 运行环境

    转自: http://m.oschina.net/blog/616526, 版权归原作者所有. 1 Docker与虚拟机     2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统 ...

  4. Docker的容器运行时组件Containerd

    不久前,Docker宣布开源他们的容器运行时组件Containerd(发音是container-D).目前的Containerd版本是0.2.4,Docker计划在2017年第二季度基于Open Co ...

  5. docker构建dpdk运行环境镜像

    构建dpdk运行环境 编写Dockerfile文件 FROM debian:stretchMAINTAINER yanhai<yh@chinabluedon.cn>COPY sources ...

  6. Docker搭建PHP运行环境

    目录 Docker 安装 PHP Docker 安装 Nginx ​编辑运行nginx容器 nginx安装成功 Nginx + PHP 部署PHP项目 启动 PHP: 启动 nginx: 查看正在运行 ...

  7. 轻量级Kubernetes之k3s:7:集群一键部署脚本

    使用k3s来进行kubernetes集群部署,对于初学者,相较于vagrant.minikube甚至kubeadm在使用上都会更加流畅.在easypack上封装了一个200行左右的脚本,就可以轻松实现 ...

  8. 轻量级Kubernetes之k3s:5:集群搭建

    在前面的文章中对k3s进行了一些概要信息和安装选项以及离线安装方式的介绍,这篇文章通过具体的实例来介绍如何使用k3s搭建kubernetes集群. 集群环境准备 hostname IP 内存 硬盘 操 ...

  9. 轻量级Kubernetes之k3s:4:离线安装与部署

    k3s安装已经非常方便,考虑到企业内网无法直接联网的情况,可以考虑使用设定INSTALL_K3S_SKIP_DOWNLOAD进行安装.使用官方脚本无需做任何改动即可进行离线安装. 步骤1: 手动下载指 ...

最新文章

  1. Activity启动过程剖析
  2. Metasploit advanced命令使用技巧
  3. IDApython 命令
  4. 网站后台admin修改故事
  5. Guacamole-RDP没有声音解决办法
  6. 阿里主管通知我试用期延期……
  7. nginx tomcat spring-boot 对json等数据压缩
  8. JAVA生成(可执行)Jar包的全面详解说明 [打包][SpringBoot][Eclipse][IDEA][Maven][Gradle][分离][可执行]...
  9. python可迭代对象相关的内建函数_python之函数闭包、可迭代对象和迭代器
  10. 树莓派小车简单的迷宫算法-基于Python设计
  11. react native 背景颜色渐变
  12. win7右键菜单管理_电脑鼠标右键管理工具下载 Windows鼠标右键增强管理软件 v1.0 绿色单文件免费版 下载...
  13. 如果你的 pip 命令不能用,你可以这样解决
  14. 女性游戏市场崛起,B站能否能否抓住风口打造下一个FGO?
  15. Deepin 系统没有 Times New Roman 等微软字体
  16. “碰一碰”版本的蓝牙键盘,来啦!
  17. 三大功能护航,Amazfit跃我 PowerBuds Pro正式发售
  18. 导数的四则运算法则_高中生如何学习导数
  19. project设置工期为1个工作日,但开始时间与结束时间不是同一天,如何解决或者是设置?
  20. Python 使用can模块(记录稿)

热门文章

  1. fastapi 大型应用_FastAPI使用小结
  2. 中国大学公开课是垃圾,向哈弗公开课叫板!
  3. 小米笔记本计算机在哪里,小米笔记本proX15怎么查看电脑损耗程度-在哪查看
  4. 浅析如何衡量程序员的生产效率
  5. Hadoop之——HDFS命令
  6. Java进阶4-Elasticsearch
  7. Windows电脑桌面便签敬业签提醒事项怎么快速添加重要事项提醒
  8. 品牌创建百科怎么写?品牌百度百科怎么创建?
  9. ndows 10,win10系统 win10系统下载 windows10系统下载-大地系统官网
  10. Realsense D435i使用笔记