大家好,我是升仔
Kubernetes 概述
Kubernetes起源于Google,它的核心理念是帮助你在集群中自动部署、扩展和运行应用程序容器。简单来说,它就像一个智能的容器管理员,能够确保你的应用始终运行在最适合的地方。
Kubernetes的基本架构包括两大部分:Master节点和Worker节点。Master节点是大脑,负责整个集群的管理和调度;而Worker节点则是干活的,这里运行着我们的应用容器。
核心概念
- Pod:这是Kubernetes中的基本单位,你可以把它想象成一个容器的容器。一个Pod里可以运行一个或多个容器,这些容器共享网络和存储资源。
- Service:它定义了如何访问Pod,提供了一种抽象的方式来暴露应用。
- Volume:在Docker中,容器的文件系统是临时的。而Volume则提供了一种在Pod中存储数据的方式。
- Namespace:这是一种将集群资源划分为多个用途的方法。每个Namespace都有自己的资源配额、权限等。
Kubernetes 组件
- etcd:这是一个轻量级、分布式的键值存储,用于存储所有集群数据。
- API Server:Kubernetes的大脑,所有的操作都会通过API Server进行。
- Scheduler:它负责决定将Pod放在哪个Node上运行。
- Controller Manager:负责监视集群状态,并在需要时作出反应。
- Kubelet:运行在每个Node上,负责保证容器正常运行。
- Kube-proxy:管理Node上的网络规则,实现Service的网络访问。
Kubernetes 安装与配置
接下来,我会带你了解如何在Linux环境中安装Kubernetes。这里会提供一个比较详细的教程,但由于篇幅有限,可能无法展示完整的代码。不过,不要担心,我会尽量让每一步都清晰易懂。
准备工作
首先,你需要有一台运行Linux的机器。这台机器将作为我们的Master节点。假设你已经有了这样的环境,下面是安装Kubernetes的步骤:
步骤1:安装Docker
Kubernetes需要Docker来运行容器,所以我们首先安装Docker。
sudo apt-get update
sudo apt-get install docker.io
记得启动Docker服务并将其设置为开机自启动。
sudo systemctl start docker
sudo systemctl enable docker
步骤2:安装Kubeadm, Kubelet, 和 Kubectl
Kubeadm帮助你快速搭建Kubernetes集群,Kubelet在节点上运行,而Kubectl是用来与集群通信的命令行工具。
sudo apt-get update
sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
步骤3:初始化Kubernetes集群
使用kubeadm来初始化集群:
sudo kubeadm init
这个命令会输出一些信息,包括如何将Worker节点加入到这个集群中的命令。记得把这个命令记下来。
步骤4:配置kubectl
作为普通用户配置kubectl:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
步骤5:安装网络插件
Kubernetes需要网络插件来使得Pods能够相互通信。这里我们安装一个叫做Calico的网络插件:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
至此,你的Kubernetes集群应该已经安装并运行起来了。你可以使用kubectl get nodes
命令来查看集群的状态。
最后说一句(求关注,求赞,别白嫖)
最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。
这是大佬写的,7701页的BAT大佬写的刷题笔记,让我offer拿到手软
本文已收录于我的技术网站,next-java.com, 有大厂完整面经,工作技术等经验分享
求一键三连:点赞、分享、收藏
点赞对我真的非常重要!在线求赞,加个关注非常感激