VMware单台虚拟机上使用Minikube部署Kubernetes单节点集群

0 检查此服务器具备虚拟化功能

[root@centos7-01 ~]# grep -E --color 'vmx|svm' /proc/cpuinfo
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
 
#如果输入为空,说明服务器不具备虚拟化功能,需要做如下配置:
 
VMware Workstation 开启服务器虚拟化功能
配置重启虚拟机
 
 

1 安装Kubectl

 
关闭SWAP交换分区
swapoff -a
 
 
配置Kubernetes-YUM源
[root@minikube ~]# cat <<EOF > /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
EOF

安装Kubectl

[root@minikube ~]# yum -y install kubectl

 

2 安装Minikube

 
Minikube安装包由阿里云提供。
[root@minikube ~]# curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.2.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
 
 

3 使用Minikube创建一个Kubernetes单点集群

 
# “--vm-driver=none”表示使用Linux本机作为运行环境。 
# “--image-repository”表示指定阿里的镜像地址,用官方的镜像地址很慢。
#
[root@minikube ~]# minikube start --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' --vm-driver=none 
 
 

4 查看Kubernetes集群运行情况

#查看集群的状态
[root@centos7-01 ~]# minikube status
host: Running
kubelet: Running
apiserver: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.159.128

#查看集群信息
[root@centos7-01 ~]# kubectl cluster-info
Kubernetes master is running at https://192.168.159.128:8443
KubeDNS is running at https://192.168.159.128:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
#这里显示集群已经启动。它显示了各种Kubemetes组件的URL , 包括API服务器和Web控制台。


#可以运行minikube ssh登录到Minikube VM并从内部探索它
minikube ssh

 

5 趟过的坑

问题 1 

解决方法:
# echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
 
报错截图:
 
 
问题 2 
报错:Error restarting cluster: waiting for apiserver: timed out waiting for the condition
解决方法:执行minikube delete,然后再执行:minikube start 
 
 
问题 3  kubelet启动失败
原因:docker和kublelt的Cgroup Driver不一致
解决方法:推荐修改kublelt的Cgroup Driver参数,但是minikube部署的单机k8s,kublelt是 minikube start的时候生产的,所有修改kublelt的Cgroup Driver参数没有用。
                   修改docker的Cgroup Driver参数:
#中的native.cgroupdriver参数,使其与kublelt的保持一致。
vi /usr/lib/systemd/system/docker.service

#修改后:加载配置,重启docker
systemctl daemon-reload
systemctl restart docker

报错日志:kubelet启动报错(systemctl status kubelet)

查看kubelet服务启动失败的系统日志:journalctl -f -u kubelet
#输出如下日志
 
查看docke的Cgroup Driver设置方法:
[root@centos7-01 docker_test]# sudo docker info|grep Cgroup
  WARNING: You're not using the default seccomp profile
Cgroup Driver: systemd

查看kubelet配置文件中Cgroup Driver的配置:

[root@centos7-01 docker_test]# cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

[Unit]
Wants=docker.socket

[Service]
ExecStart=
ExecStart=/usr/bin/kubelet --authorization-mode=Webhook --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --cgroup-driver=systemd --client-ca-file=/var/lib/minikube/certs/ca.crt --cluster-dns=10.96.0.10 --cluster-domain=cluster.local --container-runtime=docker --fail-swap-on=false --hostname-override=minikube --kubeconfig=/etc/kubernetes/kubelet.conf --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 --pod-manifest-path=/etc/kubernetes/manifests

[Install]

 

 
 
 
 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值