--- title: 在MacOS中运行k3s description: 使用Multipass在ubuntu虚拟机中运行k3s categories: [随笔] --- # k3s > 安装ubuntu家的multipass虚拟机 ```sh brew install multipass ``` (镜像路径在/var/root/Library/Caches/multipassd/qemu/vault/images下) 创建一个虚拟机并启动 ```sh multipass launch -n k3s01 -c 2 -m 2G -d 16G ``` 查看虚拟机 ```sh multipass list multipass info k3s01 ``` 进入虚拟机终端 ```sh multipass shell k3s01 ``` 设置root密码,更新apt ```sh sudo passwd apt-get update ``` 数据卷,数据传输 ```sh multipass mount host-path vm-name:vm-path multipass umount vm-name multipass transfer host-file vm-name:vm-path ``` 虚拟机操作 ```sh multipass start/stop/delete/purge vm-name ``` 指定虚拟机初始化时的配置、执行的命令等 ```sh multipass launch -n vm-name --cloud-init config.yaml # config.yaml runcmd: - apt-get update # 更新包 - curl -sfL https://get.k3s.io | sh - # 安装k3s - echo "alias k=kubectl" >> ~/.bash_aliases ``` 指定k3s启动时config的访问权限,使得在非root用户下也能kubectl管理k3s ```sh sudo vim /etc/systemd/system/k3s.service # k3s.service ExecStart=/usr/local/bin/k3s \ server --write-kubeconfig-mode "0666" \ # 所有人可读写 sudo systemctl daemon-reload # 重新加载配置 sudo systemctl restart k3s # 重启k3s kubectl get nodes # 输出 NAME STATUS ROLES AGE VERSION k3s01 Ready control-plane,master 9h v1.30.4+k3s1 ``` 默认集群配置文件路径为`/etc/rancher/k3s/k3s.yaml` 接下来就是参照tutorial动手实践部署k8s各个components就行了。