Multipass
是一个轻量虚拟机,用来测试集群应用非常方便。
k3s
是个轻量级的Kubernetes,适用于物联网等有限资源的环境。
安装 multipass
windows和mac到官网下载安装包,https://multipass.run/install
ubuntu执行命令:sudo snap install multipass
创建2台ubuntu虚拟机
虚拟机配置都是1核cpu、1G内存、10G磁盘
终端执行如下命令:
multipass launch -n master -c 1 -m 1G -d 10G
multipass launch -n node1 -c 1 -m 1G -d 10G
连接master虚拟机操作
首先查看master的ip,复制备用
multipass info master
连接master的shell
multipass shell master
安装k3s(国内镜像链接)
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
可以添加选项 INSTALL_K3S_VERSION=v1.24.7+k3s1 来指定版本
查看版本
k3s -v
查看k3s的token,复制备用
sudo cat /var/lib/rancher/k3s/server/node-token
连接node1虚拟机操作
连接node1的shell
multipass shell node1
安装k3s,将master的ip和token替换到下面
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://【master的ip】:6443 K3S_TOKEN=【master的token】 sh -
连接master虚拟机,确认节点
连接master的shell终端
multipass shell master
查看k3s节点
sudo kubectl get nodes
输出如下:
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 6m v1.24.6+k3s1
node1 Ready <none> 3m v1.24.6+k3s1
至此安装完成
部署nginx测试
连接master终端
创建一个deployment,名字是demo1,80端口,2个pod
sudo kubectl create deployment demo1 --image=nginx --port=80 --replicas=2
给demo1创建一个负载均衡的service
sudo kubectl expose deployment demo1 --type=LoadBalancer --port=80
查看所有service
sudo kubectl get svc
输出如下:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 60m
demo1 LoadBalancer 10.43.221.208 <pending> 80:31886/TCP 8m30s
我这里的端口号是31886
在master中,执行 curl http://master:31886
,输出html字符代表nginx访问成功。
或者在本地电脑执行 multipass list
查看master虚拟机ip,浏览器访问http://虚拟机ip:31886。