在使用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 --"