• 华为云云耀云服务器L实例评测 | 基于minikube搭建单节点kubernetes集群




    Minikube 是一个使用golang开发的单节点kubernetes集群环境,在资源紧张的情况下,可以用于快速搭建kubernetes集群,甚至可以轻松在笔记本的虚拟机上快速拉起一个kubernetes集群,因此,非常适合用于开发和测试环境。

    1 安装Docker

    按照官网Docker docs指引安装:

    yum install -y yum-utils
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
    yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
    systemctl start docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装完成后,执行docker ps命令有输出就说明docker安装成功。

    2 conntrack-tools

    conntrack-tools是一套Linux用户空间连接跟踪工具,用于系统管理员进行交互连接跟踪系统,iptables依赖该工具提供的连接跟踪能力。conntrack-tools依赖很多二进制,对于特定的操作系统,有些依赖可能已经安装,可以使用yum install conntrack-tools --downloadonly --downloaddir=.下载二进制,然后使用rpm -ivh *.rpm命令尝试安装,安装过程中会提示缺失的依赖,缺失的依赖包可以通过repotrack命令下载。

    3 安装minikube

    按照minikube安装minikube:

    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    install minikube-linux-amd64 /usr/local/bin/minikube
    
    • 1
    • 2

    4 下载二进制:kubeadm、kubectl、kubelet

    按照Installing kubeadm, kubelet and kubectl指引安装kubeadm、kubectl、kubelet。

    然后将下载的二进制拷贝到~/.minikube/cache/linux/amd64/$K8S_VERSION,这里的K8S_VERSION建议是1.21.11。如果网络条件好的话,也可以跳过此步骤,后面启动minikube时也会自动去下载。

    5 准备镜像

    下载下列镜像:

    registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.21.11
    registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.21.11
    registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.21.11
    registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.21.11
    registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.4.1
    registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0
    registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.0
    registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    然后改为k8s.gcr.io仓库的对应镜像名:

    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.21.11 k8s.gcr.io/kube-apiserver:v1.21.11
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.21.11 k8s.gcr.io/kube-scheduler:v1.21.11
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.21.11 k8s.gcr.io/kube-controller-manager:v1.21.11
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.21.11 k8s.gcr.io/kube-proxy:v1.21.11
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.4.1 k8s.gcr.io/pause:3.4.1
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0 k8s.gcr.io/etcd:3.4.13-0
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.0 k8s.gcr.io/coredns/coredns:v1.8.0
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5 gcr.io/k8s-minikube/storage-provisioner:v5
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    6 启动minikube

    minikube start --kubernetes-version=v1.21.11 --driver=none --cache-images=true
    
    • 1

    kube-system

    7 简单测试

    kubectl create deployment nginx --image=nginx
    
    • 1

    在这里插入图片描述

    8 开启dashboard

    开启metrics-server和dashboard:

    # 如果运行时拉取不到镜像可以修改deploy的镜像名
    minikube addons enable metrics-server
    
    minikube dashboard
    
    • 1
    • 2
    • 3
    • 4

    此时可以在另一个窗口访问给出的链接,如果可以正常访问,可以开通端口访问,用于外网访问。

    nohup minikube dashboard > /dev/null 2>&1 &
    
    nohup kubectl proxy --port=8000 --address='0.0.0.0' --accept-hosts='^.*' > /dev/null 2>&1 &
    
    • 1
    • 2
    • 3

    然后在安全组添加8000的入方向规则,就可以在外网访问了:
    添加安全组规则

    dashboard

    同时,可以发现系统的负载不高,一方面说明minikube自身占用的资源比较少,另一方面也说明华为云服务器的性能还是比较好的:
    top

    从整个安装流程来看,主要是一些工具的安装和镜像的下载,这里将该安装流程需要的所有内容打包到一个压缩包,将该压缩包解压后直接执行里面的install.sh脚本就可以在离线环境快速拉起minikube。
    下载链接:https://pan.baidu.com/s/1Uofm2yIW6XSD6gy4yoO9JA?pwd=6m57

  • 相关阅读:
    windows解决本地端口占用问题
    v86.01 鸿蒙内核源码分析 (静态分配篇) | 很简单的一位小朋友 | 百篇博客分析 OpenHarmony 源码
    Unity Shader 透明度效果
    树莓派忘记密码重置密码的方法
    java的集合
    设备上架与调试步骤项目篇
    美团一面:什么是CAS?有什么优缺点?我说我只用过AtomicInteger。。。。
    Nginx补充部分--IO模型
    css样式进行预处理
    中国石油大学(北京)-《 完井工程》第一阶段在线作业
  • 原文地址:https://blog.csdn.net/ILOVEYOUXIAOWANGZI/article/details/133190644