前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >K3S 从放弃到入门(一)先装起来

K3S 从放弃到入门(一)先装起来

原创
作者头像
一介程序员
修改2022-04-01 09:59:27
1.9K0
修改2022-04-01 09:59:27
举报

本篇文章记录自己手动安装K3S的过程。本次测试环境为两台轻量应用服务器,配置分别为2核4G、4核4G,系统镜像选择CentOS 8.2

规划是在2核4G服务器上面部署主节点、在4核4G服务器上面部署从节点。

文件准备

因为国内网络环境复杂,在线安装下载相关文件缓慢、甚至无法下载,所以本次安装方式为离线安装。需要提前下载相关文件,并上传到服务器上,进行离线安装。

首先去这个地方,选择一个自己喜欢的版本下载,我这里选择的是v1.23.4+k3s1

image-20220329075518837.png
image-20220329075518837.png

其次,还需要访问https://get.k3s.io/,把安装脚本下载下来,保存为 install.sh

开始安装

开放端口:主节点需要开放TCP:6443 UDP:8472两个端口,从节点需要开放UDP:8472端口。都只需要内网开放就行了。

敲命令:

代码语言:shell
复制
gunzip k3s-airgap-images-amd64.tar.gz #解压缩
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
chmod a+x k3s install.sh
sudo cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
sudo cp k3s /usr/local/bin/

主节点运行:

代码语言:shell
复制
INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh --node-name master

等上一小会儿,获取token:

代码语言:shell
复制
cat /var/lib/rancher/k3s/server/token

从节点运行:

代码语言:shell
复制
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://{masterip}:6443 K3S_TOKEN={token} ./install.sh --node-name slave-01

其中,{serverip}为主节点内网地址的IP,{token}是上一步获取到的token

运行命令kubectl get nodes,查看下安装是否成功:

2.png
2.png

安装dashboard

首先需要下载这个文件到本地https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml

运行命令kubectl apply -f recommended.yaml,稍等片刻就安装完了。

外网访问dashboard

这里先临时采用将 serverice 改成 nodeport 的方式。

运行命令kubectl -n kubernetes-dashboard edit service kubernetes-dashboard

将service的type改成NodePort

image-20220329082413270.png
image-20220329082413270.png

如果没有指定端口号,系统会随机选择一个端口,使用命令kubectl get service -n kubernetes-dashboard查看下端口号,我这里是32008,在轻量后台放行TCP:32008。

image-20220329082505366.png
image-20220329082505366.png

准备俩文件:

dashboard.admin-user.yml

代码语言:yaml
复制
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

dashboard.admin-user-role.yml

代码语言:yaml
复制
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: admin-user
    namespace: kubernetes-dashboard

运行命令:

代码语言:shell
复制
kubectl create -f dashboard.admin-user.yml -f dashboard.admin-user-role.yml

使用命令获取token:

代码语言:shell
复制
kubectl -n kubernetes-dashboard describe secret admin-user-token | grep '^token'

用获取到的token,访问https://{masterip}:32008/#/login 就可以登录dashboard了。其中{masterip}是主节点的外网IP地址。

3.png
3.png

完结,撒花!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件准备
  • 开始安装
  • 安装dashboard
    • 外网访问dashboard
    相关产品与服务
    轻量应用服务器
    轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档