我是靠谱客的博主 执着学姐,最近开发中收集的这篇文章主要介绍K8s(一) 环境搭建K8s(一) 环境搭建笔记:一、简介&整体架构图二、安装,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

K8s(一) 环境搭建笔记:


目录

  • K8s(一) 环境搭建笔记:
  • 一、简介&整体架构图
    • master
    • node
  • 二、安装


一、简介&整体架构图

docker默认都是单机使用,没有高可用,所以生产环境一般不会单独使用docker跑应用,k8s主要是作为docker的一个调度器来使用,可以使容器实现跨节点通信,当一台运行容器的节点故障后,容器会自动迁移到其它可用节点上继续运行服务,这样就能实现高可用,目前比较常用的是k8s
在这里插入图片描述

master

kubectl: k8s的所有操作都是通过kubectl指令操作的

REST API:k8s对外部服务提供的接口服务,例如图形化界面或者kubectl都会通过REST API接口下发指令来控制k8s

scheduler:调度器,例如创建pod,scheduler可以控制将pod分配到哪个pod节点

controller-manager:检测pod或者node的健康状态,并维持pod的正常运行,如果pod故障,controller-manger会自动修复,例如在启动一个pod副本

etcd:一个高可用的键值仓库用于配置共享和服务发现,类似于zookeeper,基本覆盖了zk的应用场景,k8s的所有数据都存放在etcd数据库中

node

node:node节点是真正的工作负载节点,每个node都会被master节点分配一些工作负载(docker容器),当某个node节点宕机时,master节点就会转移该节点上的工作负载到其他node节点上

pod:k8s环境运行的最小单位,一个pod中可以包含一个或多个docker容器;k8s为每个pod都配备了一个唯一的ip地址,称之为pod ip,一个pod里的多个容器共享这个pod id;一个集群内的任意两个pod都是能直接通信的

kubelet:代理软件,例如在master上对node节点下发的指令,都需要通过kubelet组建来告知各个组件。负责pod对应的容器的创建,启停等任务,同时与master节点密切协作,实现集群管理的基本功能

kubeproxy:在所有节点都需要运行kubeproxy,后期通过创建svc来将pod映射到外网,当外部通过svc-ip访问pod的时候就需要通过kubeporxy进行路由转发到pod

二、安装

官方地址链接: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
不翻墙基本走不通

下面使用minikube测试搭建

# 使用国内阿里云源安装 kubectl
curl -LO http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/`curl -s http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl
# 通过国内阿里云安装 minikube
curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.2.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
# 启动minikube (本机已安装docker)
minikube start --vm-driver=none

更多命令:

minikube start                           # 启动minikube
minikube ip                              # 查看IP
minikube status                          # 查看状态
minikube stop                            # 关闭集群
minikube delete                          # 删除集群。如果启动出错,同时删除 ~/.minikube目录 再minikube start

kubectl cluster-info                     # 查看集群信息
kubectl get node            			 # 查看已有 node节点信息
kubectl get pod						     #查看所有pod信息
kubectl get pod -o wide                  #查看pod主要信息 包含IP 所属node节点等
kubectl get deployment                   #查看所有deployment信息
kubectl describe deployment deployment名字  #查看具体deployment信息
kubectl describe pod pod名字    #查看具体pod信息
kubectl apply -f yaml文件名称              #执行对应yaml配置文件

从docker可以看到实际下载的镜像
在这里插入图片描述
参考minikube官方:https://kubernetes.io/docs/tutorials/hello-minikube/

最后

以上就是执着学姐为你收集整理的K8s(一) 环境搭建K8s(一) 环境搭建笔记:一、简介&整体架构图二、安装的全部内容,希望文章能够帮你解决K8s(一) 环境搭建K8s(一) 环境搭建笔记:一、简介&整体架构图二、安装所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部