Kubernetes学习

1. Kubernetes

1. 是什么:分布式系统管理框架

  1. 当容器太多时,急需一个大规模容器编排系统对所有的容器进行管理,K8s就是对一整个分布式系统的所有容器进行管理,对整个分布式系统的所有容器进行管理
  2. 服务发现和负载均衡:对所有的容器进行统一编排和处理,Kubernetes可以对所有的容器服务进行注册发现,其会对某个服务的请求进行负载均衡
  3. 存储编排:对所有的容器服务的存储进行统一管理
  4. 自动部署和回滚:将部分的容器服务直接回滚到之前的版本
  5. 自动完成装箱计算:Kubernetes允许指定每个容器所需的CPU和内存
  6. 自我修复:Kubernetes会对重启失败、停止允许的容器进行自我修复,自动恢复到结束之前的配置
  7. Kubernetes的特性![[attachments/Pasted image 20241114133256.png]]![[attachments/Pasted image 20241114133728.png]]

2. 架构

  1. Kubernetes一般都是集群模式,多个master节点和多个WorkNode节点

  2. Kubernetes Cluster = Nmaster + Nworknode,即N个master结点N个工作节点

  3. ![[attachments/Pasted image 20241114135237.png]]

  4. 集群中每个组件都是通过 api-server 进行通信每个结点都必须有一个 kubelet 进行结点的控制,每个结点通过 kube-proxy 进行通信,由kubelet对该节点进行配置,由kubeadm在主节点中对主节点进行配置,kubectl是命令行工具,对服务器中的kubenetes进行配置

3. Kubernetes创建集群

  1. 为每台机器安装Docker
  2. 为每个机器安装 Kubelet、Kubectl(K8S的命令行)、Kubeadm(快速搭建K8S集群),三大件不需要Docker,其他组件均需要Docker
  3. 选择一台机器在Kubadm中输入 kubadm init 来初始化为master节点
  4. 由master节点的kubelet自动去下载安装master核心组件 scheduler、kube-proxy、etcd、api-server、controller-manager
  5. 对于非master节点通过在kubadm中输入 kubadm join 来加入master节点,此时就变为WorkNode,然后由该节点的kubelet去安装kube-proxy

4. 创建三台云服务器

  1. 创建三台云服务器实例
  2. 为每个服务器配置公网IP,且设置一个VPC私有网络使得所有的服务器都放到一个VPC下,此时可以通过私网IP进行访问,速度快且不收费,只有同一个VPC私有网络下的服务器才可以通过私网IP进行互相访问,此时很快且不收费
  3. 只有同一个VPC下的机器才可以通过私网IP进行访问
  4. 要在创建服务器时指定VPC
  5. 为每个服务器中都安装Docker环境,且要安装与K8s的环境相匹配的版本
  6. 使用 systemctl enable docker --now 来启动Docker,此时enable是指开机启动–now指当前启动

5. Kubernetes创建集群

  1. 准备预备环境,更改配置

    1. ![[attachments/Pasted image 20241114220251.png]]![[attachments/Pasted image 20241114220534.png]]
      在这里插入图片描述
  2. 安装集群三大件:kubelet、kubeadm、kubectl

    1. kubelet、、kubeadm、kubectl![[attachments/Pasted image 20241114220720.png]]
  3. 使用kubeadm引导安装master节点

    1. 除了Kubenetes三大件,其余的组件都以容器的形式进行运行,要下载镜像然后运行![[attachments/Pasted image 20241114220910.png]]

    2. 下载好组件的镜像后要先初始化主节点master使用kubeadm init来初始化只在主节点中进行初始化,但要先在所有节点中指出当前的主节点,然后只在主节点中初始化,此时kubeadm会自动对master节点进行配置 ![[attachments/Pasted image 20241114221803.png]]

    3. 根据master节点的提示继续后面的操作,进行配置后,然后加入新的master节点,加入新的WorkNode节点(24小时内有效,超时可以申请令牌) ![[attachments/Pasted image 20241114221944.png]]![[attachments/Pasted image 20241114222102.png]]

    4. 使用kubectl get pods -A 查看部署的所有pos时出现了核心组件,则说明主master节点安装完成 ![[attachments/Pasted image 20241114223153.png]]

  4. 向集群中加入WorkNode

    1. 根据创建master节点完成后返回的操作提示来join工作节点WorkNode该提示中的命令是24小时之内有效的,如果超过24小时就不可以使用该命令加入新的节点了![[attachments/Pasted image 20241114223331.png]]

    2. 通过在master节点中 kubeadm token create --print-join-command 来获取新的加入WorkNode节点的令牌![[attachments/Pasted image 20241114224348.png]]

    3. 然后在master节点中使用kubectl get nodes来查看集群中的所有节点必须在master节点才可以查看

    4. 必须等所有pod都安装成功并Running后才可以看到nodes,可以使用 watch -n 1 kubectl get pod -A:来每s监控一次是否部署成功

  5. Kubenetes集群自我修复能力测试

    1. 集群宕机后重启,会自动恢复之前的配置
  6. Kubenetes命令

    1. kubectl get nodes:查看集群所有节点
    2. kubectl apply -f xxx.yaml根据配置文件,给集群创建资源
    3. kubectl get pods -A:查看集群部署了哪些应用(在Docker里面通过docker ps 查看所有正在运行的容器,在Kubunetes中叫 pod
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值