k0s离线包制作
通过docker制作k0s的镜像包
k0s airgap list-images | xargs -I{} docker pull {}
docker image save $(k0s airgap list-images | xargs) -o k0s-airgap-bundle-v1.31.2+k0s.0-amd64.tar
部署
1、使用k0sctl部署集群(只能部署多节点集群)
首先把离线镜像包存放节点的指定目录
mkdir -p /var/lib/k0s/images
cp k0s-airgap-bundle-v1.31.2+k0s.0-amd64.tar /var/lib/k0s/images/k0s-airgap-bundle-v1.31.2+k0s.0-amd64.tar
然后使用k0sctl
部署集群,生成配置文件
k0sctl init > k0sctl.yaml
修改配置文件适配部署的环境
执行以下命令部署集群
k0sctl apply --config k0sctl.yaml
访问集群
k0sctl kubeconfig > kubeconfig
kubectl get pods --kubeconfig kubeconfig -A
注:k0sctl只能添加节点,不能删除节点
2、使用k0s二进制部署集群
单节点部署controller
和worker
节点
sudo k0s install controller --single
sudo k0s install controller --single -e ETCD_UNSUPPORTED_ARCH=arm #arm环境部署
可以强制重新部署
sudo k0s install controller --single --force
sudo systemctl daemon-reload
启动k0s
服务
sudo k0s start
sudo k0s status #检测服务状态
sudo k0s kubectl get nodes #命令行使用
卸载k0s
服务
sudo k0s stop
sudo k0s reset
reboot #重启节点清空iptables等残留
只部署controller
节点
mkdir -p /etc/k0s
k0s config create > /etc/k0s/k0s.yaml
sudo k0s install controller -c /etc/k0s/k0s.yaml
sudo k0s start
创建token
sudo k0s token create --role=worker --expiry=100h > token-file
sudo k0s token create --role=controller --expiry=1h > token-file
加入controller
或者worker
节点
sudo k0s install controller --token-file /path/to/token/file -c /etc/k0s/k0s.yaml
sudo k0s install worker --token-file /path/to/token/file
sudo k0s start
检测和访问集群
sudo k0s status
sudo k0s kubectl get nodes
sudo cat /var/lib/k0s/pki/admin.conf
k0s上部署kubesphere
首先安装和配置helm v3
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
mkdir ~/.kube
cp -r /var/lib/k0s/pki/admin.conf ~/.kube/config
然后,部署kubesphere
的 ks-core
helm upgrade --install -n kubesphere-system --create-namespace ks-core ./ks-core-1.1.3.tgz --debug --wait --set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks --set extension.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks
安装完毕。
卸载命令如下
helm del -n kubesphere-system ks-core