Minikebe
Minikube是一个轻量级Kubernetes实现,它在本地机器上创建一个VM,并部署一个只包含一个节点的简单集群。
Minikube使用Docker机器来管理Kubernetes VM,因此它得益于Docker机器使用的驱动程序插件架构,该架构提供了一种一致的方式来管理各种VM提供者。Minikube嵌入了VirtualBox和VMware Fusion驱动程序,因此不需要额外的步骤来使用它们。但是,其他驱动程序需要在主机路径中提供额外的二进制文件。
先决条件:
1. 系统支持虚拟化技术
2. 已安装配置KVM2或Virtualbox
3. 已安装Docker(Docher CE 或 Docker EE)
--KVM2 Driver
KVM2安装(KVM2需要安装libvirt 1.3.1或更高版本和qemu-kvm)
sudo apt install libvirt-clients libvirt-daemon-system qemu-kvm
sudo apt install libvirt-bin libvirt-daemon-system qemu-kvm
sudo yum install libvirt-daemon-kvm qemu-kvm
sudo zypper install libvirt qemu-kvm
检查virsh版本: virsh --version
若版本高于1.3.1则可下载预构造的KVM2 driver
curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 && sudo install docker-machine-driver-kvm2 /usr/local/bin/
#查看kvm driver版本 docker-machine-driver-kvm2 version
--安装Docker
yum install docker -y
--安装minikube 1.2.0
curl -L minikube https://storage.googleapis.com/minikube/releases/v1.2.0/minikube-linux-amd64 -o /usr/local/bin/minikube
--安装kubectl 1.15.0
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl
--启动libvirtd服务
systemctl enable libvirtd.service systemctl start libvirtd.service systemctl status libvirtd.service #将当前用户加入libvirt组 usermod -a -G libvirt $(whoami) #切换用户有效组 newgrp libvirt
--启动minikube
minikube start --vm-driver=kvm2 #可将kvm2设置为默认driver minikube config set vm-driver kvm2
#我的启动输出,为了出现不必要麻烦,我使用root安装的 [root@oc1657727366 ~]# minikube start --vm-driver=kvm2 ?? minikube v1.2.0 on linux (amd64) ?? Please don‘t run minikube as root or with ‘sudo‘ privileges. It isn‘t necessary. ?? Creating kvm2 VM (CPUs=2, Memory=2048MB, Disk=20000MB) ... ?? Configuring environment for Kubernetes v1.15.0 on Docker 18.09.6 ?? Downloading kubeadm v1.15.0 ?? Downloading kubelet v1.15.0 ?? Pulling images ... ?? Launching Kubernetes ... ? Verifying: apiserver proxy etcd scheduler controller dns ?? Done! kubectl is now configured to use "minikube" #查看minikube状态 [root@oc1657727366 ~]# minikube status host: Running kubelet: Running apiserver: Running kubectl: Correctly Configured: pointing to minikube-vm at 192.168.39.42
--minikube使用
#创建一个名为my-nginx的deployment [root@oc1657727366 ~]# kubectl create deployment --image=nginx my-nginx deployment.apps/my-nginx created #查看pod列表 [root@oc1657727366 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE my-nginx-f969cff84-kcc49 1/1 Running 0 6m21s #查看已建立的deployment [root@oc1657727366 ~]# kubectl get deployment NAME READY UP-TO-DATE AVAILABLE AGE my-nginx 1/1 1 1 7m19s #扩展nginx pod数量到两个 [root@oc1657727366 ~]# kubectl scale deployment --replicas 2 my-nginx deployment.extensions/my-nginx scaled #再次查看pod列表 [root@oc1657727366 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE my-nginx-f969cff84-c92vj 1/1 Running 0 9s my-nginx-f969cff84-kcc49 1/1 Running 0 9m28s
参考网站:
https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm2-driver
https://github.com/kubernetes/examples/blob/master/staging/simple-nginx.md
原文:https://www.cnblogs.com/xiami-xm/p/11203038.html