从minikube到portainer

下午原计划从b站的“三小时学会k8s”入手,没想掉入portainer的坑,还好一切顺利

portainer

portainer是一个非常轻量化的docker管理工具,图形化界面,支持ubuntu,安装过程如下

  1. 首先建立一个docker的专门目录 docker_project,进入目录
    mkdir portainer

  2. 在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:
    
    
  3. 使用如下命令,上面的yml文件相当于定义了portainer service的启动配置,也就是使用‘portainer/portainer-ce’的镜像文件,并绑定到8083端口上(9000是容器的端口),而且创建了portainer data卷。使用docker-compose 命令启动portainer容器
    docker-compose up -d

  4. 好了,使用浏览器进入本地或者你的远程服务器地址:8083,就可以对服务器上的docker进行管理。

minikube

  1. 首先安装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
    

    minikube start

    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