下午原计划从b站的“三小时学会k8s”入手,没想掉入portainer的坑,还好一切顺利
portainer
portainer是一个非常轻量化的docker管理工具,图形化界面,支持ubuntu,安装过程如下
-
首先建立一个docker的专门目录 docker_project,进入目录
mkdir portainer
-
在portainer目录下,建立一个docker compose可以使用的yml文件:
nano docker-compose.yml
文件内容如下,其中8083是宿主机的端口号,需要请云主机管理员帮你打开权限:version: '3' services: portainer: image: portainer/portainer-ce container_name: portainer ports: - "8083:9000" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data volumes: portainer_data:
-
使用如下命令,上面的yml文件相当于定义了portainer service的启动配置,也就是使用‘portainer/portainer-ce’的镜像文件,并绑定到8083端口上(9000是容器的端口),而且创建了portainer data卷。使用docker-compose 命令启动portainer容器
docker-compose up -d
-
好了,使用浏览器进入本地或者你的远程服务器地址:8083,就可以对服务器上的docker进行管理。
minikube
-
首先安装kubectl,这是一个用来管理k8s集群的命令行工具,对于管理部署、services、pods和其他资源非常关键,在ubuntu的默认包里是没有的,所以需要从k8s官方repo里下载最新版本。
sudo apt install curl curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl sudo mv kubectl /usr/local/bin/
上述命令下载最新kubectl后,修改其属性为可执行,然后把它移动到path目录以便可以从terminal里执行。
然后对安装结果进行校验kubectl version --client
下面是巨坑时刻,折腾了1个小时,因为dl.k8s.io在google上,总是下载失败,所以按照chatgpt建议打算替换如下国内镜像:
https://dl.k8s.io curl -LO "https://mirrors.ustc.edu.cn/kubernetes/apt/dists/kubernetes-jessie/release/$(curl -L -s https://mirrors.ustc.edu.cn/kubernetes/apt/dists/kubernetes-jessie/release/stable.txt)/bin/linux/amd64/kubectl" curl -LO "https://mirrors.aliyun.com/kubernetes/$(curl -L -s https://mirrors.aliyun.com/kubernetes/stable.txt)/bin/linux/amd64/kubectl" KUBE_VERSION=$(curl -L -s https://mirrors.cloud.aliyuncs.com/kubernetes/stable.txt) curl -LO "https://mirrors.cloud.aliyuncs.com/kubernetes/${KUBE_VERSION}/bin/linux/amd64/kubectl" curl -L -s https://mirrors.cloud.aliyuncs.com/kubernetes/stable.txt https://mirrors.aliyun.com/kubernetes/ https://mirrors.ustc.edu.cn/kubernetes/
当然还是失败,最终多问了几次chatgpt,按照如下方式安装成功
sudo apt update sudo apt install snapd
Once you have snapd installed and the system restarted (if necessary), you can now install kubectl using snap:
sudo snap install kubectl --classic kubectl version --client
What you’ll need 2 CPUs or more 2GB of free memory 20GB of free disk space Internet connection Container or virtual machine manager, such as: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation
都是钱
尽量不要使用root账号
这时候要注意,如果从portainer后台启动minikube的容器,实际是没有运行起来的
使用none root用户启动minikube
成功!
docker run -d -p 8081:80 docker/getting-started
参考
https://www.xtuos.com/214719.html
不使用用docker compose来安装portainer:https://www.jianshu.com/p/ce225a5bfbd1