在centos7部署k8s搭建kubernetes集群

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找到合适的位置,同时,Kubernetes也系统提升工具以及人性化方面,让用户能够方便的部署自己的应用(就像canary deployments)。

本环境2台配置为2核2G CentOS的机器。

1.1.概念

kubernetes(通常称为k8s)用于自动部署、扩展和管理容器化应用程序的开源系统。它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。支持一系列容器工具 ,包括Docker等。

1.2.特点

  • 可移植:支持公有云、私有云、混合云、多重云

  • 可扩展:模块化、插件化、可挂载、可组合

  • 自动化:自动部署、自动重启、自动复制、自动伸缩/扩展

  • 快速部署应用,快速扩展应用

  • 无缝对接新的应用功能

  • 节约资源、优化硬件资源的使用

2.kubernetes中的相关概念

2.1.Cluster

计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用

2.2Master

是Cluster的大脑,主要职责是调度,即决定将应用放在哪里运行。Master运行Linux操作系统,可以是物理机或者虚拟机。为了是实现高可用,可以运行多个Master。

2.3Node

职责是运行容器应用。Node 由 Master 管理,Node 负责监控并汇报容器的状态,并根据 Master 的要求管理容器的生命周期。Node 运行在 Linux 操作系统,可以是物理机或者是虚拟机。

2.4Pod

Pod 是 Kubernetes 的最小工作单元。每个 Pod 包含一个或多个容器。Pod 中的容器会作为一个整体被 Master 调度到一个 Node 上运行。

2.5Controller

Kubernetes 通常不会直接创建 Pod,而是通过 Controller 来管理 Pod 的。Controller 中定义了 Pod 的部署特性,比如有几个副本,在什么样的 Node 上运行等。为了满足不同的业务场景,Kubernetes 提供了多种 Controller,包括 Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等,

Deployment 是最常用的 Controller,比如前面在线教程中就是通过创建 Deployment 来部署应用的。Deployment 可以管理 Pod 的多个副本,并确保 Pod 按照期望的状态运行。

ReplicaSet 实现了 Pod 的多副本管理。使用 Deployment 时会自动创建 ReplicaSet,也就是说 Deployment 是通过 ReplicaSet 来管理 Pod 的多个副本,我们通常不需要直接使用 Replica

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
部署Kubernetes集群需要多台物理机或虚拟机,每个节点至少需要2个CPU、2GB内存和20GB硬盘空间。以下是CentOS 7上部署Kubernetes集群的步骤: 1. 安装Docker 在每个节点上安装Docker,可以使用以下命令: ``` sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce sudo systemctl enable docker sudo systemctl start docker ``` 2. 禁用Swap 在每个节点上禁用Swap,可以使用以下命令: ``` sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab ``` 3. 安装Kubernetes组件 在每个节点上安装Kubernetes组件,可以使用以下命令: ``` sudo yum install -y kubelet kubeadm kubectl sudo systemctl enable kubelet sudo systemctl start kubelet ``` 4. 初始化Kubernetes Master节点 选择一个节点作为Kubernetes Master节点,运行以下命令进行初始化: ``` sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 此命令将初始化Kubernetes Master节点并生成join命令。请记录下生成的join命令,以便稍后将节点加入集群。 5. 安装网络插件 在Kubernetes集群中,网络插件用于连接容器。在Master节点上安装网络插件,可以使用以下命令: ``` sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml ``` 6. 将节点加入集群 将每个节点加入Kubernetes集群,可以使用在第4步中生成的join命令。例如: ``` sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash <hash> ``` 其中,`<master-ip>`和`<master-port>`是Kubernetes Master节点的IP地址和端口号,`<token>`和`<hash>`是在第4步中生成的token和hash。 7. 验证集群 使用以下命令验证Kubernetes集群是否正常工作: ``` sudo kubectl get nodes ``` 如果一切正常,将显示所有节点的状态。现在,您已经成功地在CentOS 7上部署Kubernetes集群

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值