zoukankan      html  css  js  c++  java
  • 附002.Minikube介绍及使用

    一 Minikube介绍

    1.1 概述

    Minikube是一种可以在本地轻松运行Kubernetes的工具。Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kubernetes或日常开发的用户测试使用。特点是不能启动生产集群,没有高可用性的单节点机器。
    使用Minikube CLI管理虚拟机上的Kubernetes环境,比如:启动,停止,删除,获取状态等。

    1.2 Minkube功能

    Minikube支持Kubernetes功能,例如:
    • DNS
    • NodePorts
    • ConfigMaps和Secrets
    • 仪表板
    • Container Runtime:Docker,rktCRI-Ocontainerd
    • 启用CNI(容器网络接口)
    • 入口

    1.3 架构示意

    Minikube利用本地虚拟机环境部署Kubernetes,其基本架构如下图所示:
    001

    二 Minikube安装

    2.1 前置条件

    必须在计算机的BIOS中启用VT-x或AMD-v虚拟化。
    安装kubetcl工具,参考《附001.kubectl介绍及使用》。

    2.2 正式安装

      1 [root@k8s ~]# curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 
      2   && sudo install minikube-linux-amd64 /usr/local/bin/minikube
     
    提示:Minkube相关源位于国外,也可采用国内阿里修改的Minkube,操作如下:
      1 [root@k8s ~]# curl -Lo 
      2 minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v0.25.2/minikube-linux-amd64 && 
      3 chmod +x minikube && sudo mv minikube /usr/local/bin/
     

    三 使用Minkube启动Kubernetes

    3.1 前期准备

    安装virtualbox:
      1 [root@k8s ~]# yum -y update
      2 [root@k8s ~]# yum -y install kernel-devel
      3 [root@k8s ~]# vi /etc/yum.repos.d/virtualbox.repo
      4 [virtualbox]
      5 name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox
      6 baseurl=http://download.virtualbox.org/virtualbox/rpm/el/7/$basearch
      7 enabled=1
      8 gpgcheck=1
      9 repo_gpgcheck=1
     10 gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
     11 [root@k8s ~]# yum -y install VirtualBox-5.2
     12 [root@k8s ~]# sudo /sbin/vboxconfig		#测试
     

    002

    提示:可使用kvm或virtualbox(默认)启动虚拟节点,在此节点上部署Kubernetes集群,国内环境无法正常下载相应驱动,若采用none,即宿主机自身docker环境进行部署,需要提前安装docker。

    3.2 快速构建

      1 [root@k8s ~]# minikube start
    003
    提示:如果要更改VM驱动程序,请添加相应的--vm-driver=xxx标志minikube start,如minikube start --vm-driver hyperv,如下为使用kvm2驱动部署示例:
      1 root@k8s01:~# sudo apt -y install libvirt-clients libvirt-daemon-system qemu-kvm
      2 #安装KVM2前置组件
      3 root@k8s01:~# curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 && sudo install docker-machine-driver-kvm2 /usr/local/bin/
      4 #安装KVM2
      5 root@k8s01:~# minikube start --vm-driver kvm2		#本实验使用kvm驱动
     
    提示:更多驱动安装文档参考:https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperkit-driver
      1 [root@k8s ~]# kubectl cluster-info			#查看集群Master信息
      2 [root@k8s ~]# kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080
      3 [root@k8s ~]# kubectl expose deployment hello-minikube --type=NodePort
      4 [root@k8s ~]# kubectl get pod				#查看pod节点
      5 [root@k8s ~]# kubectl get all --namespace=kube-system	#查看部署组件
     
    004

    3.3 确认验证

      1 [root@k8s ~]# minikube ssh			#进入集群虚机
      2 $ docker ps					#查看所运行的容器
      3 [root@k8s ~]# minikube dashboard		#打开Kubernetes web界面
     
    005

    四 Minkube常见操作

    4.1 常见操作

      1 [root@k8s ~]# minikube version		#查看安装Minkube版本
      2 [root@k8s ~]# minikube status		#查看状态
      3 [root@k8s ~]# minikube start		#启动一个Kubernetes
     
    提示:minikube start可用于启动/创建集群,并配置运行单节点Kubernetes集群的虚拟机,同时会将kubectl安装配置为与此集群通信。
      1 [root@k8s ~]# minikube start --kubernetes-version v1.7.3
      2 #指定特定版本启动Kubernetes。
      3 root@k8s01:~# minikube stop		#停止一个Kubernetes
     
    提示:minikube stop将关闭minikube虚拟机,但会保留所有群集状态和数据。再次启动群集会将其恢复到之前的状态。
      1 [root@k8s ~]# minikube ip		#查看内部虚拟机启动的IP
      2 [root@k8s ~]# minikube ssh		#进入虚机所构建的集群内部
      3 [root@k8s ~]# minikube logs		#查看运行log
      4 [root@k8s ~]# minikube addons list	#查看addons的列表
     
    006
      1 root@k8s01:~# minikube start --kubernetes-version v1.7.3    #启动指定版本的Kubernetes
      2 root@k8s01:~# minikube delete                               #关闭集群并删除minikube虚拟机,不保留任何虚机数据或状态,但~/.minikube目录会存在缓存文件。
      3 root@k8s01:~# minikube dashboard	                        #启动Kubernetes仪表盘
     

    4.2 部分优化

    为了能够在宿主机上使用内部docker相关命令,可进行以下操作::
      1 [root@k8s ~]# eval $(minikube docker-env)
      2 [root@k8s ~]# docker ps
     
     
    参考文档:https://yq.aliyun.com/articles/221687
    https://github.com/kubernetes/minikube/blob/v0.30.0/README.md
    https://kubernetes.io/docs/setup/minikube/
  • 相关阅读:
    Ubuntu的防火墙UFW
    使用Xshell连接Ubuntu
    Markdown 11种基本语法
    Git Push 避免用户名和密码方法
    "git rm" 和 "rm" 的区别
    无限级分类实现思路
    1. Git 克隆代码
    Git 笔记
    git 远程分支创建与推送
    ci 笔记
  • 原文地址:https://www.cnblogs.com/itzgr/p/11044235.html
Copyright © 2011-2022 走看看