K3s使用Docker安装

概述

K3s是一个轻量级的Kubernetes发行版,适用于资源有限的环境和边缘计算场景。与传统的Kubernetes相比,K3s更加简单、易用、快速,能够在低性能的设备上运行,同时保持了Kubernetes的强大功能。

本文将介绍如何使用Docker安装K3s,并提供相关的代码示例。通过本文的指导,您将能够快速搭建一个K3s集群,以便在开发和测试环境中使用。

前提条件

在开始安装K3s之前,确保您已经满足以下前提条件:

  • 安装了Docker,并且Docker服务正在运行。
  • 您具备基本的Docker和Kubernetes的使用知识。

安装K3s

步骤1:拉取K3s镜像

首先,我们需要从Docker镜像仓库拉取K3s镜像。K3s镜像包括了K3s服务器和代理节点所需的组件。

打开终端,输入以下命令拉取K3s镜像:

docker pull rancher/k3s

步骤2:创建K3s容器

创建一个Docker容器来运行K3s服务。在创建容器之前,我们需要确定K3s节点的角色:服务器角色(server)或代理角色(agent)。

服务器角色

如果您希望将当前节点设置为K3s服务器,可以运行以下命令:

docker run -d --name k3s-server --privileged -p 6443:6443 rancher/k3s server

上述命令中,--name参数指定了容器的名称为"k3s-server",--privileged参数用于提升容器的权限,-p参数将容器的6443端口映射到主机的6443端口。

代理角色

如果您希望将当前节点设置为K3s代理节点,可以运行以下命令:

docker run -d --name k3s-agent --privileged -e K3S_URL=https://<k3s-server-ip>:6443 -e K3S_TOKEN=<token> rancher/k3s agent

上述命令中,--name参数指定了容器的名称为"k3s-agent",--privileged参数用于提升容器的权限,-e参数用于设置环境变量,其中K3S_URL指定了K3s服务器的地址和端口,K3S_TOKEN是K3s服务器生成的用于鉴权的令牌。

步骤3:验证安装

安装完成后,我们可以通过执行以下命令来验证K3s是否正常运行:

docker exec -it k3s-server kubectl get nodes

如果一切正常,您应该能够看到K3s节点的列表。

使用K3s

安装完成后,我们可以使用K3s来管理和运行容器化的应用程序。以下是一些常用的K3s操作示例:

创建Deployment

使用K3s可以轻松创建、管理和扩展应用程序的部署(Deployment)。以下是一个创建Deployment的示例:

# 创建一个名为"nginx-deployment"的Deployment
kubectl create deployment nginx-deployment --image=nginx

创建Service

使用K3s可以创建Service,以便将访问流量路由到对应的Pod。以下是一个创建Service的示例:

# 创建一个名为"nginx-service"的Service,将流量路由到名为"nginx-deployment"的Deployment
kubectl expose deployment nginx-deployment --name=nginx-service --port=80 --target-port=80 --type=NodePort

查看Pod和Service

使用K3s可以方便地查看部署的Pod和Service。以下是一些常用的查看命令:

# 查看所有的Pod
kubectl get pods

# 查看所有的Service
kubectl get services

# 查看某个特定的Pod或Service的详细信息
kubectl describe pod <pod-name>
kubectl describe service <service-name>