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的客戶端工具
- 在/etc/yum.repos.d/目錄下創建kubernetes.repo文件。
- 編輯如下文本,用的是阿里雲的源:
[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個方式:”
- 通過命令行標簽 --kubeconfig 配置
- 用KUBECONIFG環境變量
- 在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
- github地址 : https://github.com/kubernetes/minikube/releases
- 下載 : minikube-linux-amd64
- No! No! No! 下載半天。上阿里雲
## -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