• 官方参考地址:minikube start | minikube (k8s.io)

  • 在使用minikube之前,先安装docker

    使用其他容器技术也可以,如kvm2、podman、vmware等。推荐docker

    # 卸载可能已安装的旧版本docker
    sudo yum remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-engine
        
    # 安装一些工具
    sudo yum install -y yum-utils
    # 设置镜像仓库,这个仓库是国外的
    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
     # 阿里云镜像仓库   
    sudo yum-config-manager \
        --add-repo \
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # 更新软件包索引
    yum makecache fast
    # 安装
    sudo yum install docker-ce docker-ce-cli containerd.io
    # 启动docker
    systemctl start docker
    # 查看版本,确认安装成功
    docker version
    # 
    
  • 创建root权限账户

    # 添加用户
    adduser chris
    # 添加密码
    passwd chris
    # 赋予root权限,要修改sudoers文件,我们先需要赋予它write权限。然后再修改
    chmod -v u+w /etc/sudoers
    # 编辑文件
    vim /etc/sudoers
    # 编辑sudoers文件时,找到下面的内容,其中chris ALL=(ALL) ALL是需要添加的
    ## Allow root to run any commands anywhere 
    root    ALL=(ALL)       ALL
    chris ALL=(ALL) ALL
    # 收回权限
    chmod -v u-w /etc/sudoers
    # Add your user to the 'docker' group
    sudo usermod -aG docker chris && newgrp docker
    

    注意:若是用root账户,在启动minikube时,会提示添加 --force,添加这个配置,可能会存在问题(本人未测试)。建议创建一个root权限的账户,而不是直接使用root。

  • x86-64架构安装

    # 切换到chris账户
    sudo chris
    # 下载
    sudo curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    # 安装
    sudo install minikube-linux-amd64 /usr/local/bin/minikube
    # 查看minikube版本
    minikube version
    # kubectl安装
    minikube kubectl
    # 使用命令 minikube start 会从 Docker Hub 上拉取镜像,以当前最新版本的 Kubernetes 启动集群
    minikube start --image-mirror-country='cn' --driver=docker --kubernetes-version=v1.23.3
    # 执行上述命令后,输出如下:
    😄  minikube v1.26.1 on Centos 7.5.1804 (amd64)
    ✨  Using the docker driver based on user configuration
    ✅  Using image repository registry.cn-hangzhou.aliyuncs.com/google_containers
    📌  Using Docker driver with root privileges
    👍  Starting control plane node minikube in cluster minikube
    🚜  Pulling base image ...
        > registry.cn-hangzhou.aliyun...:  386.61 MiB / 386.61 MiB  100.00% 7.26 Mi
        > registry.cn-hangzhou.aliyun...:  0 B [_____________________] ?% ? p/s 34s
    🔥  Creating docker container (CPUs=2, Memory=2200MB) ...
        > kubelet.sha256:  64 B / 64 B [-------------------------] 100.00% ? p/s 0s
        > kubeadm.sha256:  64 B / 64 B [-------------------------] 100.00% ? p/s 0s
        > kubectl.sha256:  64 B / 64 B [-------------------------] 100.00% ? p/s 0s
        > kubeadm:  43.12 MiB / 43.12 MiB [-------------] 100.00% 5.04 MiB p/s 8.8s
        > kubectl:  44.43 MiB / 44.43 MiB [--------------] 100.00% 4.06 MiB p/s 11s
        > kubelet:  118.75 MiB / 118.75 MiB [------------] 100.00% 7.05 MiB p/s 17s
    
        ▪ Generating certificates and keys ...
        ▪ Booting up control plane ...
        ▪ Configuring RBAC rules ...
    🔎  Verifying Kubernetes components...
        ▪ Using image registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
    🌟  Enabled addons: default-storageclass, storage-provisioner
    💡  kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
    🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
    
  • minikube 状态查询

    [chris@iZbp15bwxq9nnodnc5a40nZ root]$ minikube status
    minikube
    type: Control Plane
    host: Running
    kubelet: Running
    apiserver: Running
    kubeconfig: Configured
    
    [chris@iZbp15bwxq9nnodnc5a40nZ root]$ minikube node list
    minikube        192.168.49.2
    [chris@iZbp15bwxq9nnodnc5a40nZ root]$
    
  • 使用kubectl创建k8s。先查看kubectl的版本

    minikube kubectl -- version 
    # 为minikube kubectl 创建一个别名
    alias kubectl="minikube kubectl --"
    
  • 在k8s中运行一个nginx

    kubectl run myngx --image=nginx:alpine
    

    执行上述命令,输出:

    [chris@iZbp15bwxq9nnodnc5a40nZ ~]$ kubectl run myngx --image=nginx:alpine
    pod/myngx created
    

    查看pod

    kubectl get pod
    

注意:在kubectl安装好之后,直接使用kubectl时,会提示命令不存在,而是需要使用minikube kubectl …,解决此问题的方法是:

# 创建一个别名
alias kubectl="minikube kubectl --"
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐