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
  
配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM