已编辑 1 天前 通过 ExtremeHow 编辑团队
容器编排系统容器开发与运维集群编排应用管理可扩展性配置部署服务器管理
翻译更新 1 天前
Kubernetes,通常简称为 K8s,是一个开源平台,旨在自动化应用程序容器的部署、扩展和操作。它提供了一个框架,使您能够灵活地运行分布式系统。Kubernetes 管理您的应用程序基于集群上可用资源的工作,优化负载分配,并管理故障恢复。
在 Linux 上开始安装 Kubernetes 之前,请确保您具备以下准备条件:
Docker 是 Kubernetes 用于管理容器的运行时。它构成了 Kubernetes 工作的基础。按照以下步骤在 Linux 系统上安装 Docker:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(lsb_release -cs) stable"
sudo apt-get update sudo apt-get install docker-ce
sudo systemctl start docker sudo systemctl enable docker
通过检查版本验证 Docker 安装:
docker --version
要安装 Kubernetes,您需要将其官方仓库添加到您的包管理器中:
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 /etc/apt/sources.list.d/kubernetes.list
Kubernetes 的三个基本组件是 kubelet、kubeadm 和 kubectl。以下是安装方法:
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
安装 Kubernetes 后,是时候适当配置系统:
Kubernetes 在启用交换分区时无法工作。使用以下命令禁用系统上的 swap:
sudo swapoff -a
为了在重启时持久化更改,请在 /etc/fstab
中评论掉 swap 行。
确保正确配置以下网络设置:
net.bridge.bridge-nf-call-iptables=1
启用 IP 转发:sudo sysctl net.bridge.bridge-nf-call-iptables=1
sysctl -p
验证设置。我们使用 kubeadm
来设置一个主节点 - 您的 Kubernetes 集群的控制平面:
sudo kubeadm init
kubectl
配置。通常包括:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
root
,则将 $HOME
替换为 /root
或 /home/<your-username>
。安装 Pod 网络插件以允许 pod 之间进行通信。以下是使用 Flannel 的示例:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
检查节点状态:
kubectl get nodes
部署第一个应用程序很简单。让我们部署一个简单的 nginx 服务器:
kubectl run nginx --image=nginx --port=80
要将部署暴露为从集群外部可访问的服务:
kubectl expose deployment nginx --type=NodePort
获取有关部署和服务的详细信息:
kubectl get deployments kubectl get services
NodePort
将为您提供一个端口来访问 nginx 服务器,您可以使用服务器的 IP 地址和给定的端口进行访问。
Kubernetes 的一个重要优势是能够轻松扩展应用程序。如果您的 nginx 服务器需要处理更多负载,可以扩展它:
kubectl scale deployment nginx --replicas=3
检查状态:
kubectl get pods -o wide
在试用 Kubernetes 功能后,您可能希望清理演示环境:
kubectl delete service nginx kubectl delete deployment nginx
通过本指南,您已经开始在 Linux 上安装和使用 Kubernetes。该设置为您提供了对 Kubernetes 的基本了解,重点在于 kubeadm、kubelet 等关键组件以及部署和管理简单应用程序的能力。从这里,您可以进一步探索更高级的 Kubernetes 概念、配置和管理技术,以充分利用 Kubernetes 在基础设施中的强大功能。
如果你发现文章内容有误, 您可以