已编辑 4 几个月前 通过 ExtremeHow 编辑团队
帽子容器编排系统容器编排安装软件开发命令行终端系统管理计算机
翻译更新 4 几个月前
Kubernetes,通常缩写为 K8s,是一个开源平台,用于管理容器化的工作负载和服务。它有助于自动化应用容器在主机集群上的部署、扩展和操作。在 Fedora 上安装 Kubernetes 可以是一种有益的体验,特别是对于希望在本地系统上试验容器编排的开发人员。下面我们将一步一步地指导您完成在 Fedora 系统上安装 Kubernetes 的详细过程,其中包括示例和解释,以确保顺利设置。
在进入安装过程之前,有一些先决条件和需要考虑的事项:
第一步是更新 Fedora 系统,以确保所有软件包和依赖项都是最新的。使用以下命令:
sudo dnf update -y
此命令将下载并安装最新的更新,确保您的系统为 Kubernetes 做好准备。
Kubernetes 需要一个容器运行时,而 Docker 是最常用的选项之一。要在 Fedora 上安装 Docker,请按照以下步骤操作:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker sudo systemctl enable docker
安装 Docker 后,通过使用 sudo systemctl status docker
检查其状态来验证安装。
安全增强型 Linux(SELinux)是一种 Linux 内核安全功能,提供支持访问控制安全策略的机制。Kubernetes 和容器运行时有时会与 SELinux 问题,因此建议将其设置为宽松模式。
sudo setenforce 0
通过编辑 SELinux 配置文件使此更改永久生效:
sudo vi /etc/selinux/config
将 SELINUX=enforcing
行更改为 SELINUX=permissive
。保存并退出编辑器。
现在,您需要添加 Kubernetes 仓库,从中安装所需的软件包。使用以下步骤:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg https://packages.cloud.google.com/yum/doc/yum-key.gpg EOF
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable kubelet
这些是主要的 Kubernetes 组件。kubelet
是在每个节点上运行的代理。kubeadm
是用于引导集群的工具。kubectl
是用于与集群交互的命令行工具。
修改 Kubernetes 网络的系统设置。打开 sysctl 配置文件并调整设置:
sudo vi /etc/sysctl.d/k8s.conf
为了确保网络数据包为桥接流量正确处理,添加以下行:
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
应用这些更改:
sudo sysctl --system
必须禁用 Swap 内存,以便 Kubernetes 能够最佳运行。使用以下命令临时和永久禁用 swap:
临时禁用 swap:
sudo swapoff -a
永久禁用 swap: 编辑 /etc/fstab
文件并注释掉任何引用 swap 分区的行。使用:
sudo vi /etc/fstab
找到包含 swap 条目的行,前面加上 #
将其注释掉。
您将使用 kubeadm 初始化 Kubernetes 主节点。此步骤还设置所需的控制平面。通过以下操作进行初始化:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
--pod-network-cidr
参数指定 pod 网络的 IP 范围。这可能会根据您使用的网络解决方案而有所不同。
初始化成功后,命令将返回一个 kubeadm“join”命令。如果您想将额外的节点添加到集群,请保存此命令以备日后使用。
为了使 kubectl 工具以非 root 用户正确工作,设置本地 kubeconfig 文件:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
这些命令创建配置目录并复制管理凭证,以便您可以使用 kubectl,而无需每次都使用 sudo。
Kubernetes 需要 Pod 网络附加组件。最受欢迎的选择是 Flannel。使用以下命令将 Flannel 部署到集群中:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
这将配置您的 Kubernetes 节点,通过 Flannel 的虚拟网络相互通信。
一切设置完成后,使用以下命令检查集群节点的状态:
kubectl get nodes
您应该会看到您的系统列有“Ready”状态。此外,使用以下命令检查所有系统 pod:
kubectl get pods --all-namespaces
恭喜,您已成功在 Fedora 上安装了 Kubernetes。一旦集群启动并运行,您就可以开始部署应用程序并有效地管理容器化的工作负载。这个安装过程虽然详细,但涵盖了设置环境进行学习和开发所需的所有步骤。未来的管理可能包括管理权限、扩展和维护群集健康,确保您对 Fedora 系统上的 Kubernetes 有深刻的理解。
请记住,Kubernetes 是一个强大的系统,学习需要很多时间。然而,按照上面提到的手动安装和配置过程,可以提供非常宝贵的实践经验,并加深您对真实场景中容器编排的理解。
如果你发现文章内容有误, 您可以