k3s部署-docker版

本文详细介绍了如何在CentOSStream9系统上安装Docker并配置镜像加速,然后进行k3s的安装,包括最新版本和指定版本,以及部署可视化界面和工作节点的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、k3s说明:

K3S 是轻量级的 Kubernetes。易于安装,仅需要 Kubernetes 内存的一半,所有组件都在一个小于 100 MB 的二进制文件中。如果你想使用k8s的功能,但是有没有集群或者高配置的机器,那么k3s是满足你需求的最好工具。

二、安装环境:

  • 系统:centos stream 9,其他操作系统类似,特别注意点参考官网
  • 容器环境:docker
  • 单集群部署

三、安装docker:(已经有docker环境跳过)

sudo yum install -y yum-utils

# 添加软件源,其他操作系统参考:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.51571b11tvZRD9
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 开始安装docker,其他系统参考:https://docs.docker.com/engine/install/
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.1-部署完成后配置docker镜像加速:
# 配置文件地址 /etc/docker/daemon.json,没有就新建
# 文件内容:(使用腾讯云加速)
{
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com"
    ]
}

四、安装k3s:

# 1.1-安装最新版本:
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --docker

# 1.2-安装指定版本:
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_VERSION=v1.27.5+k3s1 sh -s - --docker

# 查看集群可用
kubectl get pods --all-namespaces

# 查看节点状态
kubectl get node

# 使用 kubectl 从外部访问集群
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config

五、安装可视化界面:

下载地址:https://github.com/cnrancher/kube-explorer/releases/tag/v0.4.0

# 添加执行权限
chmod +x ./kube-explorer

# 后台运行
nohup ./kube-explorer --http-listen-port=9595 --https-listen-port=0 >/dev/null 2>&1 &

六、部署工作节点(看需求,不需要忽略)

前提也是需要安装docker环境

# 主节点查看 token
cat /var/lib/rancher/k3s/server/token

# 复制好token内容,然后在工作节点服务上执行
# K3S_URL 为主节点服务器内网地址
# INSTALL_K3S_VERSION 指定安装版本,不需要可以去掉
# K3S_TOKEN 对于上文复制的token值
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_VERSION=v1.27.5+k3s1 K3S_URL=https://172.16.0.9:6443 K3S_TOKEN=K106294d1d50af5f993d4d5053f2e671138466d35e6f846da0d820f3e89895c9174::server:fc5809c461811578f9e13f6b2a5bb27f sh -s - --docker

# 之后在主节点服务器上查看节点状态
kubectl get node
### 如何使用 Docker 和 K3s 进行应用部署 #### 准备工作 确保期望的 k3s 使用的 Docker 镜像已经存在于主机之上。通过 `docker images` 命令可以验证镜像的存在情况[^1]。 ```bash docker images ``` 对于 K3s 的安装,推荐访问官方页面获取最新的安装命令以确保兼容性和安全性[^2]。 #### 安装 K3s 并配置其使用本地 Docker 镜像 默认情况下,K3s 可能会自动下载所需的容器运行时环境;然而为了指定使用已有的 Docker 作为容器运行时,则需按照特定方式启动 K3s 或者修改配置文件使其指向现有的 Docker Socket 文件路径。 一种常见的做法是在安装脚本中加入参数来指示 K3s 不要自带 containerd 而改用外部提供的 Docker: ```bash curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --container-runtime=external --container-runtime-endpoint=unix:///var/run/docker.sock" sh - ``` 这一步骤使得 K3s 将依赖于系统中的 Docker 来执行所有的容器操作而不是创建新的 runtime 实例。 #### 创建并部署应用程序到 K3s 集群 一旦 K3s 成功设置完毕并与 Docker 整合之后,就可以着手准备 Kubernetes 清单 (YAML) 文件定义所需的应用程序服务、Pods 等资源对象,并利用 `kubectl apply` 命令提交给集群处理。 下面是一个简单的 Nginx 应用示例 YAML 文件 (`nginx-deployment.yaml`): ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: nginx-service spec: type: NodePort selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80 ``` 接着可以通过如下指令将其应用于当前上下文中所指代的 K3s 集群内: ```bash kubectl apply -f nginx-deployment.yaml ``` 此时应该能够看到两个副本集正在运行着基于最新 Nginx 映像构建的服务实例,并可通过节点端口模式对外提供 Web 访问支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值