Akemi

k3s两节点测试环境快速部署

2024/12/01

k3s是一个轻量化k8s环境,适合用来做测试,这两天换工作,服务器还没准备好,先用笔记本虚机搭一个k8s环境用用

环境

1
2
3
4
5
6
7
VMwareWorkstation 17Pro
8G6C 20G硬盘
Centos7.9.2009
k3s版本1.20.6

192.168.8.128 k3s-server
192.168.8.129 k3s-agent

初始化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#安全
systemctl disable firewalld --now
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

#swap
swapoff -a
sed -i '$ s/^/#/' /etc/fstab

#内核开启路由转发
modprobe br_netfilter
echo "modprobe br_netfilter" >> /etc/profile
echo "
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
" >> /etc/sysctl.d/k8s.conf
sysctl -p /etc/sysctl.d/k8s.conf

#换源
cp -a /etc/yum.repos.d /etc/yum.repos.d.backup
rm -f /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack ntpdate telnet ipvsadm

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install containerd -y
systemctl start containerd

master节点安装容器运行时与k3s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#使用阿里云方式进行镜像拉取,不然镜像拉取会失败
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --system-default-registry=registry.cn-hangzhou.aliyuncs.com

kubectl get nodes
NAME STATUS ROLES AGE VERSION
k3s-server Ready control-plane,master 6m35s v1.30.6+k3s1

kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-d8b4bcd69-97vv6 1/1 Running 0 6m28s
helm-install-traefik-crd-nmcsr 0/1 Completed 0 6m28s
helm-install-traefik-jzqc9 0/1 Completed 1 6m28s
local-path-provisioner-745c986c66-xh7rx 1/1 Running 0 6m28s
metrics-server-7b58468669-wxkm5 1/1 Running 0 6m28s
svclb-traefik-dd4520d2-4s5td 2/2 Running 0 5m41s
traefik-9d7dc4c5c-pg68c 1/1 Running 0 5m42s

node节点加入k8s集群

1
2
3
4
5
6
# 获取master节点token
cat /var/lib/rancher/k3s/server/node-token
K1083819675b00439b84a3199cfd591ac86ad4e2d09ef2efc5c0d85ea39d76a1f6c::server:e185ea240f6f3999dbad5a3f32f22420

# 在worker节点上执行安装脚本
curl -sfL https://get.k3s.io | K3S_URL=https://192.168.8.128:6443 K3S_TOKEN=K1083819675b00439b84a3199cfd591ac86ad4e2d09ef2efc5c0d85ea39d76a1f6c::server:e185ea240f6f3999dbad5a3f32f22420 sh -

kubeconfig相关

1
2
3
4
5
6
7
k3s默认的kubeconfig在/etc/rancher/k3s/k3s.yaml,给他复制过去即可

cp /etc/rancher/k3s/k3s.yaml /root/.kube/config

然后kubectl get nodes就可以正常使用了

后面要对接到rancher或者lens都可以用这个
CATALOG