Centons7.8通过kubeadm快速部署k8s-v1.22.0

一、Kubernetes概述

1.1 Kubernetes是什么

  • Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S。
  • K8S用于容器化应用程序的部署,扩展和管理。
  • K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。
  • Kubernetes目标是让部署容器化应用简单高效。

1.2 Kubernetes特性

  • 自我修复
    • 在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。
  • 弹性伸缩
    • 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务。
  • 自动部署和回滚
    • K8S采用滚动更新策略更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务。
  • 服务发现和负载均衡
    • K8S为多个容器提供一个统一访问入口(内部IP地址和一个DNS名称),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题。
  • 机密和配置管理
    • 管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用。
  • 存储编排
    • 挂载外部存储系统,无论是来自本地存储,公有云(如AWS),还是网络存储(如NFS、GlusterFS、Ceph)都作为集群资源的一部分使用,极大提高存储使用灵活性。
  • 批处理
    • 提供一次性任务,定时任务;满足批量数据处理和分析的场景

二、kubeadm 快速部署K8S集群

2.1 安装kubeadm环境准备

以下操作,在三台节点都执行

2.2.1 环境需求

系统:centos 7.8 +

硬件配置:CPU>=2c ,内存>=2G

2.2.2 环境角色

IP 角色 安装软件
192.168.7.130 k8s-Master kube-apiserver
kube-schduler
kube-controller-manager
docker
flannel
kubelet
192.168.7.131 k8s-node1 kubelet
kube-proxy
docker
flannel
192.168.7.132 k8s-node2 kubelet
kube-proxy
docker
flannel

2.2 环境初始化

以下所有操作,需在三台节点上全部执行(master,node1,node2)

关闭防火墙及selinux

systemctl stop firewalld && systemctl disable firewalld
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config  && setenforce 0

关闭swap分区

#临时
swapoff -a
#永久
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab 

调整时区

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Ubuntu 20.04 上二进制部署 Kubernetes 可以按照以下步骤进行: 1. 下载所需的 Kubernetes 二进制文件: ``` $ wget https://storage.googleapis.com/kubernetes-release/release/v1.22.0/kubernetes-server-linux-amd64.tar.gz ``` 这里下载的是 Kubernetes v1.22.0 版本的二进制文件,你也可以下载其他版本。 2. 解压文件并将二进制文件复制到 `/usr/local/bin` 目录中: ``` $ tar -xvf kubernetes-server-linux-amd64.tar.gz $ cd kubernetes $ sudo cp server/bin/kube-apiserver /usr/local/bin/ $ sudo cp server/bin/kube-controller-manager /usr/local/bin/ $ sudo cp server/bin/kube-scheduler /usr/local/bin/ $ sudo cp server/bin/kubectl /usr/local/bin/ ``` 3. 创建 Kubernetes 的配置文件: ``` $ mkdir -p $HOME/.kube $ echo 'apiVersion: v1\nkind: Config\nclusters:\n- cluster:\n server: http://127.0.0.1:8080\n name: local\ncontexts:\n- context:\n cluster: local\n user: ""\n name: local\ncurrent-context: local\nusers: []' > $HOME/.kube/config ``` 4. 启动 Kubernetes 组件: ``` $ kube-apiserver --insecure-bind-address=0.0.0.0 --insecure-port=8080 & $ kube-controller-manager & $ kube-scheduler & ``` 5. 验证 Kubernetes 是否部署成功: ``` $ kubectl version ``` 如果输出类似于以下内容,则表示 Kubernetes 部署成功: ``` Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b52b299e3f0f152e7dee58d6b4d28f135876ce", GitTreeState:"clean", BuildDate:"2021-08-04T17:15:18Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b52b299e3f0f152e7dee58d6b4d28f135876ce", GitTreeState:"clean", BuildDate:"2021-08-04T17:07:26Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"} ``` 注意:这种部署方式不适用于生产环境,仅适用于测试和学习。在生产环境中,建议使用 Kubernetes 发行版或云服务商的 Kubernetes 服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值