kubernetes
kubernetes
要说2022什么技术会火🔥,当然是kubernetes了
微服务通过传统的单位应用转变为很多目标单一的小应用,实现了解耦,各服务之间独立部署和扩展,但如何将这些应用合理高效的运行在一组机器上,这就需要kubernetes技术了,k8s是谷歌开源的容器化集群管理系统,使用k8s可以进行容器化应用的部署,方便应用的扩展,k8s让部署容器化应用更加简洁和高效。
所谓容器编排就是指自动化容器应用的部署管理扩展联网等,能够控制和自动化很多任务,包括调度和部署容器,容器之间分配资源,扩缩容器,容器的迁移,负载均衡,监视容器和主机的运行状况,而k8s有自动装箱,自我修复,水平扩展,服务发现,滚动更新,版本回退,密钥和配置管理,存储编排、批处理等功能。
kubernetes的架构组件
master node组件:api server 集群统一入口,scheduler负责节点的调度,选择node节点进行应用部署,controller-manager处理集群中任务,etcd进行保存数据。
work node组件:kubelet是负责管理本机容器,kube-proxy提供网络代理,可以进行负载均衡等操作。
k8s核心概念
pod是最小部署单元,它是一组容器的集合,可以共享网络
controller用来创建pod
serveice定义访问pod的规则
通过入口service进行访问,controller创建pod。
kubernetes集群的搭建方式
有两种,一种是kubeadm进行部署,另一种是采用二进制包的方式
kubectl
kubectl是kubernetes集群的命令行工具
常用命令:
创建pod
kubectl create deployment nginx --image=nginx
暴露端口:
kubectl expose deployment nginx --port=80 --type=NodePort
获取node基本信息
kubectl get pod,svc
yaml文件
大家都知道,k8s集群对资源的管理和编排部署是通过yaml文件来解决的,但我们一般不直接手写yaml而是借助工具来创建
通过这个命令
kubectl create deployment web --image=nginx -o yaml --dry-run > hello.yaml
输出到hello文件中。
也可以通过已经部署镜像生成yaml文件
kubectl get deploy nginx -o=yaml --export > nginx.yaml
这样会生成Nginx对应的yaml文件
❤️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话:
- 欢迎关注我❤️,点赞👍🏻,评论🤤,转发🙏
- 关注
盼盼小课堂
,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
- 点赞
- 收藏
- 关注作者
评论(0)