云原生运行环境
Pivotal公司的Matt Stine于2013年首次提出云原生(CloudNative)的概念,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计
文章目录
前言
提示:云原生相关几个概念:
1、VM安装
什么是VM
vm服务器简称VM, 又称VM主机· vm服务器是利用虚拟机(Virtual Machine)技术, 将一台服务器分割成多个虚拟机(vm服务器)的优质服务· 这些vm服务器以最大化的效率共享硬件、软件许可证以及管理资源· 对其用户和应用程序来讲, 每一个vm服务器平台的运行和管理都与一台独立主机完全相同, 因为每一个VM均可独立进行重启并拥有自己的root访问权限、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置文件·
VM安装
VM16下载链接 https://kdocs.cn/l/cswV0Nu8smJi
VM创建主机
2、Linux安装
linux版本
Linux 的发行版本
从技术上来说,李纳斯•托瓦兹开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具
linux的安装
1、镜像文件的下载
http://isoredirect.centos.org/centos/7/isos/x86_64/
要注意的是
全功能版是everything
服务器精简版
2、创建虚拟机选择镜像包
3、启动安装
4、 linux常用命令
3、什么是docker
Docker官网: https://www.docker.com/
Docker 是一个开源的应用容器引擎,基于 Go
语言 并遵从Apache2.0协议开源。
Docker
可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux
机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的app),更重要的是容器性能开销极低
docker的原理
Docker三要素,镜像,容器,仓库
1.镜像
Docker 镜像(Image)就是一个只读的模板,它可以是一个可运行软件(tomcat,mysql),也可以是一个系统(centos)。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。
2.容器
Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的
3、仓库
仓库: 是集中存放镜像文件的场所。
仓库和仓库注册服务器是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签。仓库分为公开仓库和私有仓库两种形式。最大的公开仓库是Docker Hub存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云,网易云等
Docker与虚拟机的区别
虚拟机是物理硬件的抽象,通过Hypervisor技术,将一台服务器基于物理硬件,生成多台虚拟环境,建立虚拟机,每个虚拟机是个独立的操作系统,拥有自己的系统内核。
容器虚拟化的是操作系统而不是硬件。Docker容器是应用程序层的抽象,将代码和依赖项打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器都作为用户空间中的独立进程运行。
Docker容器比虚拟机占用更少的空间(容器映像的大小通常为几十兆字节),可以处理更多的应用程序,并且需要更少的虚拟机和操作系统,启动速度非常快。
docker的安装(以CentOS7为系统进行安装)
1、检查内核版本
uname -r //大于3.10.0-1160.el7.x86_64
2、更新yum的版本到最新
[user@localhost ~]$ sudo yum update //更新到最新yum安装版本
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 4.3 kB 00:00
* base: mirrors.aliyun.com
* epel: ftp.iij.ad.jp
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
base | 3.6 kB 00:00
xz-libs.x86_64 0:5.2.2-2.el7_9
zenity.x86_64 0:3.28.1-2.el7_9
zlib.x86_64 0:1.2.7-20.el7_9
Complete!
[root@localhost user]#
3、卸载docker旧版本
[root@localhost user]# sudo yum remove docker
Loaded plugins: fastestmirror, langpacks
No Match for argument: docker //没有找到安装记录
No Packages marked for removal
[root@localhost user]#
4、安装相关工具类
[root@localhost user]# sudo yum install -y yum-utils
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: ftp.iij.ad.jp
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version
//目前是最新版本
Nothing to do
5、配置docker仓库,由于国内访问docker官方镜像速度慢,可以配置aliyun的镜像源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost user]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
6、安装docker引擎
[root@localhost user]# sudo yum install -y docker-ce //安装docker引擎
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: ftp.iij.ad.jp
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
Package 3:docker-ce-20.10.21-3.el7.x86_64 already installed and latest version
Nothing to do
7、验证docker安装成功
sudo systemctl start docker //启动docker
sudo docker run hello-world //验证docker
[root@localhost user]# systemctl start docker //启动docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-11-26 05:11:23 PST; 8s ago
Docs: https://docs.docker.com
Main PID: 69695 (dockerd)
Tasks: 7
Memory: 88.0M
CGroup: /system.slice/docker.service
└─69695 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con...
Nov 26 05:11:22 localhost.localdomain dockerd[69695]: time="2022-11-26T05:11:...
[root@localhost user]# systemctl status docker //查看状态docker
docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:faa03e786c97f07ef34423fccceeec2398ec8a5759259f94d99078f264e9d7af
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
4、总结
本次提供云原生环境的主要部件,介绍了VM,CentOS,Docker,VM是在Windows环境下,安装虚拟机,来建立实训环境,实训环境以Linux 的阿里CentOS,并列出相应的系统操作命令,检查内核版本,更新Yum(全称为 Yellow dog Updater, Modified)
这里是引用
Yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
添加docker国内阿里镜像,安装docker