k3s快速搭建k8s集群环境

ゝ一世哀愁。 2021-09-25 02:24 786阅读 0赞

k8s 搭建方式有多种,如果你是内网环境,希望占用服务器资源少或是边缘系统(如ARM系统),强烈推荐您使用 k3s进行安装

目录

    • k3s 简介
    • k3s架构
    • 中文官方文档
    • 三台服务器快速搭建k8s集群
    • 安装说明
      • 步骤1 修改主机名,保持唯一
      • 步骤2 安装docker
      • 步骤3 安装master节点
      • 步骤4 安装worker节点加入集群
      • 步骤5 查看集群
      • 步骤6 部署 k8s仪表盘 dashboard

k3s 简介

  • 轻量级 Kubernetes。安装简单,内存只有一半,所有的二进制都不到 100MB
  • K3s 是一个完全符合 Kubernetes 的发行版,有以下增强功能。

k3s架构

基本就是k8s的架构 k3s Server节点对应k8sMaster节点, Agent节点对应Worker节点
在这里插入图片描述

中文官方文档

https://docs.rancher.cn/docs/k3s/_index/

三台服务器快速搭建k8s集群

服务器环境:

  • 3台 阿里云 ECS云主机
  • ECS在同一个区域同一个内网下
  • 操作系统 Linux Centos8
  • 硬件配置 2核8G
  • 采用docker作为k3s的容器

安装说明

  1. 本次集群没有对master节点做高可用,主要是快速体验k8s集群环境
  2. 本次采用docker作为k3s的容器

k3s默认使用container,两者命令对比表:




























































id containerd 命令 docker 命令 备注
1 ctr image ls docker images 获取image信息
2 ctr image pull nginx docker pull nginx pull 一个nginx的image
3 ctr image tag nginx nginx-test docker tag nginx nginx-test tag 一个nginx的image
4 ctr image push nginx-test docker push nginx-test push nginx-test的image
5 ctr image pull nginx docker pull nginx pull 一个nginx的image
6 ctr image import nginx.tar docker load<nginx.tar.gz 导入本地镜像ctr不支持压缩
7 ctr run -d —env 111 nginx-test nginx docker run -d —name=nginx nginx-test 运行的一个容器
8 ctr task ls docker ps 查看运行的容器
  1. docker、containerd的关系

从k8s的角度看,可以选择 containerd 或 docker 作为运行时组件:Containerd 调用链更短,组件更少,更稳定,占用节点资源更少

链接:https://blog.csdn.net/x356982611/article/details/106683238

  1. 需要开发的端口

K3s Server节点的入站规则:






























协议 端口 描述
TCP 6443 K3s agent 节点 Kubernetes API Server
UDP 8472 K3s server 和 agent 节点 仅对 Flannel VXLAN 需要
TCP 10250 K3s server 和 agent 节点 Kubelet metrics

通常情况下,所有出站流量都是允许的。

步骤1 修改主机名,保持唯一






















内网地址 主机名称
172.20.167.19 k8s-master
172.20.167.20 k8s-node1
172.20.167.21 k8s-node2

在每一台ECS 下添加hosts信息:

  1. cat >> /etc/hosts << EOF 172.20.167.19 k8s-master 172.20.167.20 k8s-node1 172.20.167.21 k8s-node2 EOF

步骤2 安装docker

如果需要内网离线安装,可采用二进制方式安装:
https://blog.csdn.net/gzt19881123/article/details/109454467

如果可联网,可以采用官网提供方式安装:
https://blog.csdn.net/gzt19881123/article/details/97915765

步骤3 安装master节点

  1. curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --docker
  2. cat /var/lib/rancher/k3s/server/node-token

步骤4 安装worker节点加入集群

在 master节点主机上查看 /var/lib/rancher/k3s/server/node-token的值即为 K3S_TOKEN 的值

https://k8s-master:6443 连接master主机

  1. curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://k8s-master:6443 K3S_TOKEN=xxxxxx INSTALL_K3S_EXEC="--docker" sh -

步骤5 查看集群

在master上通过命令 kubectl get node查看集群节点

  1. [root@k8s-master ~]# kubectl get node
  2. NAME STATUS ROLES AGE VERSION
  3. k8s-master Ready control-plane,master 14h v1.20.0+k3s2
  4. k8s-node2 Ready <none> 13h v1.20.0+k3s2
  5. k8s-node1 Ready <none> 13h v1.20.0+k3s2
  6. [root@k8s-master ~]#

步骤6 部署 k8s仪表盘 dashboard

下面的文章可以部署成功,简单方便:
https://www.jianshu.com/p/026fd0165535

如果按照k3s官网的介绍的方式,则需要做如下工作:
raw.githubusercontent.com 无法访问,需在 hosts文件中添加ip映射:
199.232.96.133 raw.githubusercontent.com

发表评论

表情:
评论列表 (有 0 条评论,786人围观)

还没有评论,来说两句吧...

相关阅读

    相关 K8S

    1、搭建清单 2台linux服务器(一个master节点,一个node节点),建议搭3台(一个master,两个node) 我使用的是腾讯云,节点与节点使用公网I

    相关 Docker+K8s

    写在前面     因为我的节点都在国内,所以k8s的镜像无法在公网上顺利下载,而是下载的别人阿里云上的镜像,坐着不能保证镜像的安全性和官方性。 环境介绍   

    相关 kubeadm K8S

    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。 这个工具能通过两条指令完成一个kubernetes集群的部署: 创建一个 Mast

    相关 K8S 环境

    一、安装虚拟机 我这里使用的是VMware和CentOS8,按照以下博客安装即可,我网络选择的是NAT模式,然后磁盘分区选择自动,其他一致。 [https://www