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