k8s是一个编排容器的工具,是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新
总而言之: k8s针对对象是应用管理,使得底层实现对用户透明。可以实现多种廉价资源进行扩容,而不用采用价格高昂的刀片服务器。
几个主要概念:
集群**:**资源统一管理利用,支持不同种类硬件横向扩容,统一对外提供接口。
在k8s集群中,分为master节点(控制,类似枢纽)和node节点(实际计算)
集群结构:
在k8s上部署应用皆运行于容器上,这是一个特殊的概念
**pod:**集群调度的最小单元,一个pod可以是一个容器,也可以是多个容器(运行多个进行,类似于vm)
一个pod只能运行在一个主机上,而一个主机上可以有多个pod。
每个pod有单独的ip地址
**service:**当有多个pod提供相同的服务的时候,就需要有负载均衡的能力,提供外界访问的接口,能做到自动进行负载均衡。
应用的更新、扩容和缩容都可以简单实现:
扩容,缩容:scale deployment/kel --replicas=n
通过pod的复制与删除实现,而不用更改配置文件
**应用更新:**创建新pod分配资源、负载均衡、删除老pod等操作,类似于王者荣耀游戏中在线更新,不会中断服务,更新失败可以回滚
一些k8s命令行指令:
kubectl init 初始化
kubectl join 创建node节点,加入集群
附带推荐blog:
k8s-学习笔记总结(从入门到放弃的学习路线)
https://blog.youkuaiyun.com/qq_21187515/article/details/112359593?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165175102616781483722267%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165175102616781483722267&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-2-112359593.142v9pc_search_result_control_group,157v4control&utm_term=k8s&spm=1018.2226.3001.4187