写点什么

kubernetes

作者:周杰伦本人
  • 2022-10-16
    贵州
  • 本文字数:825 字

    阅读完需:约 1 分钟

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 文件

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2020-02-29 加入

公众号《盼盼小课堂》,多平台优质博主

评论

发布
暂无评论
kubernetes_10月月更_周杰伦本人_InfoQ写作社区