概述
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(一) 环境搭建笔记:一、简介&整体架构图二、安装所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复