Kubernetes集群部署、Pod管理

文章目录Kubernetes简介设计架构Kubernetes部署Pod管理资源清单控制器serviceKubernetes简介在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户。K
摘要由CSDN通过智能技术生成

Kubernetes

简介

  • 在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。

  • Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。

  • Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户。

  • Kubernetes的好处:
    1.隐藏资源管理和错误处理,用户仅需要关注应用的开发
    2.服务高可用、高可靠。
    3.可将负载运行在由成千上万的机器联合而成的集群中。

设计架构

Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分布式的存储系统。
在这里插入图片描述

  • Kubernetes主要由以下几个核心组件组成:
    etcd:保存了整个集群的状态
    apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
    controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
    scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上
    kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理
    Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI)
    kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡

  • 除了核心组件,还有一些推荐的Add-ons:
    kube-dns:负责为整个集群提供DNS服务
    Ingress Controller:为服务提供外网入口
    Heapster:提供资源监控
    Dashboard:提供GUI
    Federation:提供跨可用区的集群
    Fluentd-elasticsearch:提供集群日志采集、存储与查询

Kubernetes设计理念和功能其实就是一个类似Linux的分层架构
在这里插入图片描述

  • 核心层:Kubernetes最核心的功能,对外提供API构建高层的应用,对内提供插件
    式应用执行环境
  • 应用层:部署(无状态应用、有状态应用、批处理任务、集群应用等)和路由(服务发现、DNS解析等)
  • 管理层:系统度量(如基础设施、容器和网络的度量),自动化(如自动扩展、动
    态Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等)
  • 接口层:kubectl命令行工具、客户端SDK以及集群联邦
  • 生态系统:在接口层之上的庞大容器集群管理调度的生态系统,可以划分为两个范

    Kubernetes外部:日志、监控、配置管理、CI、CD、Workflow、FaaS、OTS应用、ChatOps等
    Kubernetes内部:CRI、CNI、CVI、镜像仓库、Cloud Provider、集群自身
    的配置和管理等Kubernetes部

Kubernetes部署

参考官方文档:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

实验环境:
server1(做为maste):172.25.1.1 ,4G运行内存,2个CPU
server2:172.25.1.2, 2G运行内存,2个CPU
server3:172.25.1.3 ,2G运行内存,2个CPU
harbor仓库:172.25.1.11

1.在server1/2/3上安装docker引擎

yum insatll -y containerd.io-1.2.13-3.2.el7.x86_64.rpm container-selinux-2.77-1.el7.noarch.rpm docker-ce-19.03.11-3.el7.x86_64.rpm docker-ce-cli-19.03.11-3.el7.x86_64.rpm

安装docker
vim /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1 
net.bridge.bridge-nf-call-iptables = 1 

sysctl --system
systemctl daemon-reload重载配置
vim /etc/docker/daemon.json所有的节点都需要修改

{
     
  "exec-opts": [
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值