Kubernetes之安装Minikube

1.   验证Linux 是否支持虚拟化技术

    命令: grep -E --color 'vmx|svm' /proc/cpuinfo

    无任何结果显示,说明不支持。把虚拟机关机,勾选如下设置,然后再启动即可。

      

    再执行上面命令,结果如图: 

    

2. 安装kubectl工具

  • 官方命令

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64  
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl

  但是国内把google墙了,所以换国内的源来安装。

  • centOS7 安装kube的客户端工具
  1. 在/etc/yum.repos.d/目录下创建kubernetes.repo文件。
  2. 编辑如下文本,用的是阿里云的源:
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

  3.安装客户端工具,这里把其它的也装上:

yum install -y kubectl kubelet kubeadm

  4. 结果:

  

  5. 验证:

kubectl version

  结果报错了:  

  

 我也不知道该配置什么玩意,我只是想安装个Minikube,但我读懂了这个意思:

 “缺失或未完成配置信息,请指定一个存在的、完全的配置文件,通过3个方式:”

  1.  通过命令行标签 --kubeconfig 配置
  2. 用KUBECONIFG环境变量
  3. 在home目录下配置,比如~/.kube/config

 这是一个不断展开,不断摸爬的过程~

3. 配置对多集群的访问

  • 创建一个练习目录 : /root/kube-config-exercise
  • 该目录下创建一个文件:touch config-gis
  • 配置config-gis
apiVersion: v2
kind: Config
preferences: {}

clusters:
- cluster:
  name: development
- cluster:
  name: scratch

users:
- name: developer
- name: experimenter

contexts:
- context:
  name: dev-frontend
- context:
  name: dev-storage
- context:
  name: exp-scratch

  配置文件描述了集群、用户名和上下文。

  • 配置详细信息
kubectl config --kubeconfig=config-gis set-cluster scratch --server=https://192.168.61.132:8888/gis-service --insecure-skip-tls-verify

  结果出错:error: error loading config file "config-gis": no kind "Config" is registered for version "v2" in scheme "k8s.io/client-go/tools/clientcmd/api/latest/latest.go:50

  然后把config-gis里面的apiVersion更改成v1,重新执行。结果:

  

   结果是在scratch新增了刚才配置的信息:

   

  • 配置user信息

  命令: 

kubectl config --kubeconfig=config-gis set-credentials experimenter --username=exp --password=exp123

  结果如下:

  

  • 配置上下文
kubectl config --kubeconfig=config-gis set-context dev-frontend --cluster=development --namespace=frontend --user=dev
kubectl config --kubeconfig=config-gis set-context dev-storage --cluster=development --namespace=storage --user=dev
kubectl config --kubeconfig=config-gis set-context exp-scratch --cluster=scratch --namespace=default --user=exp

  结果如下:

  • 查看配置
kubectl config --kubeconfig=config-gis view

  结果:

  

  • 设置当前上下文
# 设置当前上下文环境为dev-storage
kubectl config --kubeconfig=config-gis use-context dev-storage
# 查看当前上下文的配置
kubectl config --kubeconfig=config-gis view --minify

设置 KUBECONFIG 环境变量

# 配置环境变量
export  KUBECONFIG=$KUBECONFIG:config-gis:config-gis-2
# 保存KUBECONFIG当前值
export  KUBECONFIG_SAVED=$KUBECONFIG
# 将 KUBECONFIG 环境变量还原为原始值
export KUBECONFIG=$KUBECONFIG_SAVED

4. 安装Minikube

通过github安装Minikube

## -L参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向,-o参数将服务器的回应保存成文件,等同于wget命令。
curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.2.0/minikube-linux-amd64
## 增加执行权限
chmod +x minikube 
## 移动到bin目录
sudo mv minikube /usr/local/bin/
## 查看是否支持--driver=none,yes支持,no不支持
pidof systemd && echo "yes" || echo "no"

 

驱动方式

  • 安装Hypervisor,可以用KVM和VirtualBox

不安装Hypervisor,可以设置--vm-driver=none,让 Kubernetes 组件运行在主机中,而不是在 VM 中,但需要root权限。

## 启动,按照默认驱动(但是没有成功,成功的是下面那条指令)
sudo minikube start --driver=none
## 启动(能够成功)
sudo minikube start --vm-driver=none ## 设置默认驱动方式(未成功)
sudo minikube config set driver none

启动minikube 

  执行命令

sudo minikube start --vm-driver=none

  报错:sudo: minikube:找不到命令。

  解决:将/usr/local/bin添加到secure_path后面,保存后立即生效

  

  重新再执行,结果提示集群至少需要2cpus,而我本地虚拟机只给它分了1个cpu。先看错误:

 

  然后把本地虚拟机改成3 cpus:

  

   再执行启动命令,成功!

  

  此时再执行 kubectl version ,终于成功!

   

  查看状态

  

 目录

  https://www.cnblogs.com/lioa/p/12620137.html

配置
 
 
 
 
cha
  
配置
posted @ 2020-04-07 10:31  正宗老菜鸟  阅读(3931)  评论(0编辑  收藏  举报