《Kubernetes 入门实战课》 学习笔记 day1

286 阅读3分钟

大家好,我是砸锅。一个摸鱼八年的后端开发。熟悉 Go、Lua。今天和大家一起学习 Kubernetes😊

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 30 天,点击查看活动详情

k8s

学习 Kubernetes 最好的方式是尽快建立一个全局观和大局观,等到你对这个陌生领域的全貌有了粗略但完整的认识之后,再挑选一个自己感兴趣的方向去研究,才是性价比最高的做法

Docker

资料参考:docs.docker.com/reference/

sudo apt install -y docker.io #安装Docker Engine
sudo service docker start         #启动docker服务
sudo usermod -aG docker ${USER}   #当前用户加入docker组
docker version # 输出 Docker 客户端和服务器各自的版本信息
docker info # 显示当前 Docker系统相关的信息
docker ps # 列出当前系统里运行的容器
docker pull # 从外部的镜像仓库拉取镜像
docker imagges # 列出当前 Docker 所存储的所有镜像
docker rmi # 删除镜像 remove image
docker run # 运行镜像成容器
docker exec # 在容器里面执行另一个程序
docker stop # 强制停止运行中的容器
docker rm # 删除容器

image.png

敲的命令行 docker 实际是一个客户端 client,它会与 Docker Engine 里的后台服务 Docker daemon 通信,而镜像则存储在远端的仓库 Registry 里,客户端是不能直接访问镜像仓库

容器就是一个特殊的隔离环境,它能够让进程只看到这个环境里的有限信息,不能对外界环境施加影响。容器另一个功能就是给应用程序加上资源隔离,在系统里切分出一部分资源,让它只能使用指定的配额

容器和虚拟机的区别

image.png

容器隔离的实现

容器隔离是利用 Linux 在内核中为资源隔离提供的三种技术:namespace 、 cgroup、chroot

namespace 是可以创建出独立的文件系统、主机名、进程号、网络等资源空间,实现系统全局资源和进程局部资源的隔离

cgroup 是用来对进程的 CPU、内存等资源的优先级和配额限制

chroot 是用来更改进程的根目录,限制访问文件系统

容器化的应用

镜像和常见的 tar、rpm、deb 等安装包一样,都打包了应用程序,但最大的不同点在于它里面不仅有基本的可执行文件,还有应用运行时的整个系统环境。这就让镜像具有了非常好的跨平台便携性和兼容性

所谓的“容器化的应用”,或者“应用的容器化”,就是指应用程序不再直接和操作系统打交道,而是封装成镜像,再交给容器环境去运行。

常用的镜像操作

镜像的完整名字由两个部分组成,名字和标签,中间用 : 连接起来

docker run 是最复杂的容器操作命令,-it 表示开启一个交互式操作的 Shell,这样可以直接进入容器内部,就好像是登录虚拟机一样。-d 表示让容器在后台运行,这在我们启动 Nginx、Redis 等服务器程序的时候非常有用。—name 可以为容器起一个名字,方便我们查看

此文章为3月Day4学习笔记,内容来源于极客时间《Kubernetes 入门实战课》 这门课真的非常好,推荐大家看看