因为最近工作中需要用到k8s,基本白天去公司实操,晚上回来看书。一口气买了两本技术类书籍。今天就把我所学到的分享给大家,对不起,久等了。
记得入职当天,因为我们组就 3 个人。负责公司的 k8s 集群架构。责任比较重大,一旦环境出问题,意味着所有的开发和测试都要歇菜休息,大家想想出问题了,他们肯定不愿意,白天浪费太多的时间意味着他们都要晚上加班。要搁我身上,我也不愿意。有读者问什么是 k8s? 用来干什么的?这个逼格有那么高吗?
k8s集群
集群,为什么要使用集群? 说白了,三个臭皮匠顶个诸葛亮,众人的力量大呀。一根筷子一下就掰断了,多根筷子使劲也很难把它掰断。这个就是机群的作用,你坏了我上,我坏了你上。理解之后没什么难的。看上去名字很唬人,实际上也就是那么一回事。k8s概念
这个就跟学习数据库是一样的,首先理解数据库能干什么?由哪些东西组成。比如它是存客户业务数据的,由表、表空间等等一些东西组成。在k8s中有这么一些概念:cluster、Master、Node、Pod、Rc、Service、Namespace以及yaml文件、helm包、kube-proxy等等。本身就是一个分布式高可用的东西。-
cluster。它是计算、存储、网络资源的整合。k8s利用这些资源去运行各种基于容器的应用。
-
Master。集群主节点,这个相当于人的大脑,我们的一切行为都是大脑去调配。它主要负责分配和调度任务。决定将应用放在哪里去执行。Master运行与 linux 上,可以使物理机也可以是虚拟机。为了可以实现高可用,可以部署多个Master节点。
-
Node。它的职责是听从Master的调配并负责容器 docker 的应用。Node由Master管理,去负责监控并汇报容器的状态,同时根据 Master的要求去管理容器的生命周期。它也是运行在 linux 上,可以是物理机也可以是虚拟机。
-
Pod。Pod是k8s调度的最小单元。每一个Pod包含一个或多个容器。pod中的容器会作为一个整体被Master调度到一个node上运行。
-
rc控制文件。主要用来管理配置。
-
service。顾名思义提供服务的,想要跑起来非得靠它不可。
-
Namespace。其实就类似于数据库中有多个用户,创建了30个视图,每个视图需要分配给不同的用户,并同时将他们的资源切割开来。便于管理。
-
helm包。k8s用来打包的工具。其实就类似与debian、乌班图得apt,红帽和centos上的 yum 仓库一样。而helm就是 k8s 上的包管理工具。
-
kube-proxy。它得作用主要用来做负载均衡功能。什么叫负载均衡?比如这里有 180 斤 土豆,大家平均分配哈,要不然两个人背了 30 斤,你让剩下的那个人情以何堪呀?
k8s常用命令
# 查看集群信息
kubectl cluster-info
# 查看各组件信息
kubectl -s http://localhost:8080 get componentstatuses
# 查看pods所在的运行节点
kubectl get pods -o wide
# 查看pods定义的详细信息
kubectl get pods -o yaml
# 查看rc信息
kubectl get rc
# 查看service的信息
kubectl get svc
# 查看集群节点信息
kubectl get nodes
# 创建
kubectl create -f 文件名
# 重建
kubectl replace -f 文件名 [--force]
# 删除
kubectl delete -f 文件名
kubectl delete pod pod名
kubectl delete rc rc名
kubectl delete service service名
kubectl delete pod --all
docker打镜像:
一般在windows上将压缩包上传到linux上:
docker -i load + 名称用来加载;
docker images 用来列出本机上的镜像;
给镜像打标签:
docker tag+镜像名。
docker push推镜像;
docker pull拉镜像
三天学习的结果,我争取继续努力。平时没什么时间去追剧,周六熬夜看了下『沙海』,有人说这部剧不错,也有人吐槽这部剧结局不太看好。但是给我印象最深刻的是吴三石的那个老师说的那段话「复读三个月考了六百六十六分,人才啊,你就是老师的骄傲啊,看来老师的努力没有白费」。你看说话都说的这么有水平。六百六十六,不就是 666 么?要我看,这个老师绝b人才啊,有木有?
原文发布时间为:2018-09-17
本文作者:说点特别的
本文来自云栖社区合作伙伴“说点特别的”,了解相关信息可以关注“说点特别的”。