k8s
【1】k8s主要提供了如下的主要功能:
自我修复:一旦某一个容器崩溃,能够在1秒钟左右迅速启动新的容器
弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整
服务发现:服务可以通过自动发现的形式找到它所依赖的服务
负载均衡:如果一个服务启动了多个容器,能够自动实现请求的负载均衡
版本回退:如果发现新发布的程序版本有问题,可以立即回退到原来的版本
存储编排:可以根据容器自身的需求自动创建存储卷
【2】k8s的架构:



【3】k8s概念:
Master:集群控制节点,每个集群需要至少一个master节点负责集群的管控
Node:工作负载节点,由master分配容器到这些node工作节点上,然后node节点上的docker负责容器的运行
Pod:k8s的最小控制单元,容器都是运行在pod中的,一个pod中可以有1个或者多个容器
Controller:控制器,通过它来实现对pod的管理,比如启动pod,停止pod,伸缩pod的数量等等
Service:pod对外服务的统一入口,下面可以维护着同一类的多个pod
Label:标签,用于对pod进行分类,同一类pod会拥有相同的标签
NameSpace:命名空间,用来隔离pod的运行环境

【4】

【5】namespace操作:

【6】Pod:

Pod创建不成功,定位问题可以使用kubectl describe pod pod名称 -n dev 命令查看问题所在。(spec-》描述)

【7】Label标签的操作:

配置文件中添加Label配置:

【8】Pod控制器:Deployment

删除Deployment:kubectl delete deploy nginx -n dev


配置文件配置Deployment:

【9】Service:




配置文件创建Service:

【10】查看参数都有哪些的命令:kubectl explain pod ,查看具体 kubectl explain pod.metadata
【11】Pod的基本配置:


镜像拉取策略:

启动命令:

端口设置:

资源配额:

【12】Pod的生命周期:
初始化容器最先执行

钩子函数:



容器探测:







重启策略:(Pod的配置)


【13】Pod的调度:

查看命令:kubectl get pod pod名称 -n ns名称 -o wide






node亲和性注意事项:

Pod亲和性配置:

参照Pod:


Pod反亲和性配置:






【14】Pod的控制器:




rs的扩缩容:

rs版本镜像的升降级:




扩缩容:

镜像更新:

版本回退:



金丝雀发布:(验证新的Pod是否能够正常访问)







【15】Service:


ClusterIP类型:






【16】Ingress:



访问nginx.itheima.com这个域名,映射到service的nginx-service:80端口。


【17】数据存储:


























【18】k8s web端工具:DashBoard

浙公网安备 33010602011771号