安装包下载:
    https://github.com/kubernetes/minikube/releases
    官网在线部署
    https://minikube.sigs.k8s.io/docs/start/
    GitHub下载rpm安装包

    关闭虚拟内存
    swapoff -a
    sed -i ‘s/.swap./#&/‘ /etc/fstab

    yum install -y kubelet kubeadm kubectl —disableexcludes=kubernetes
    systemctl enable —now kubelet

    部署docker
    yum install docker -y

    1. [root@nginx01 ~]# systemctl status docker
    2. docker.service - Docker Application Container Engine
    3. Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
    4. Active: inactive (dead)
    5. Docs: http://docs.docker.com
    6. [root@nginx01 ~]# systemctl restart docker
    7. [root@nginx01 ~]# systemctl enable docker
    8. Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
    9. [root@nginx01 ~]# minikube start
    10. * minikube v1.15.1 on Centos 7.7.1908
    11. * Automatically selected the docker driver
    12. * The "docker" driver should not be used with root privileges.
    13. * If you are running minikube within a VM, consider using --driver=none:
    14. * https://minikube.sigs.k8s.io/docs/reference/drivers/none/
    15. X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
    16. [root@nginx01 ~]# grep -E --color 'vmx|svm' /proc/cpuinfo
    17. [root@nginx01 ~]#
    18. [root@nginx01 ~]#
    19. [root@nginx01 ~]#

    image.png

    添加源

    1. cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    2. [kubernetes]
    3. name=Kubernetes
    4. baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    5. enabled=1
    6. gpgcheck=1
    7. repo_gpgcheck=1
    8. gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    9. EOF

    yum install -y kubectl —disableexcludes=kubernetes

    1. [root@nginx01 ~]# kubectl version
    2. Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-11T13:17:17Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
    3. The connection to the server localhost:8080 was refused - did you specify the right host or port?
    4. [root@nginx01 ~]#

    被墙故障

    1. [root@nginx01 ~]# minikube start
    2. * minikube v1.15.1 on Centos 7.7.1908
    3. * Automatically selected the docker driver
    4. * The "docker" driver should not be used with root privileges.
    5. * If you are running minikube within a VM, consider using --driver=none:
    6. * https://minikube.sigs.k8s.io/docs/reference/drivers/none/
    7. X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
    8. [root@nginx01 ~]#
    9. [root@nginx01 ~]# minikube start
    10. * minikube v1.15.1 on Centos 7.7.1908
    11. * Using the none driver based on existing profile
    12. * Starting control plane node minikube in cluster minikube
    13. * Restarting existing none bare metal machine for "minikube" ...
    14. * OS release is CentOS Linux 7 (Core)
    15. * Preparing Kubernetes v1.19.4 on Docker 1.13.1 ...
    16. ! This bare metal machine is having trouble accessing https://k8s.gcr.io
    17. * To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
    18. > kubelet.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
    19. > kubelet: 104.92 MiB / 104.92 MiB [------------] 100.00% 1.62 MiB p/s 1m5s
    20. ! initialization failed, will try again: run: /bin/bash -c "sudo env PATH=/var/lib/minikube/binaries/v1.19.4:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,DirAvailable--var-lib-minikube-etcd,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap": exit status 1
    21. stdout:
    22. [init] Using Kubernetes version: v1.19.4
    23. [preflight] Running pre-flight checks
    24. stderr:
    25. W1206 12:00:44.721921 2007 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
    26. [WARNING Hostname]: hostname "nginx01" could not be reached
    27. [WARNING Hostname]: hostname "nginx01": lookup nginx01 on 114.114.114.114:53: no such host
    28. error execution phase preflight: [preflight] Some fatal errors occurred:
    29. [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
    30. [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
    31. To see the stack trace of this error execute with --v=5 or higher
    32. *
    33. X Error starting cluster: run: /bin/bash -c "sudo env PATH=/var/lib/minikube/binaries/v1.19.4:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,DirAvailable--var-lib-minikube-etcd,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap": exit status 1
    34. stdout:
    35. [init] Using Kubernetes version: v1.19.4
    36. [preflight] Running pre-flight checks
    37. stderr:
    38. W1206 12:00:45.347385 2114 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
    39. [WARNING Hostname]: hostname "nginx01" could not be reached
    40. [WARNING Hostname]: hostname "nginx01": lookup nginx01 on 114.114.114.114:53: no such host
    41. error execution phase preflight: [preflight] Some fatal errors occurred:
    42. [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
    43. [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
    44. To see the stack trace of this error execute with --v=5 or higher
    45. *
    46. * minikube is exiting due to an error. If the above message is not useful, open an issue:
    47. - https://github.com/kubernetes/minikube/issues/new/choose
    48. X Exiting due to GUEST_START: run: /bin/bash -c "sudo env PATH=/var/lib/minikube/binaries/v1.19.4:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,DirAvailable--var-lib-minikube-etcd,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap": exit status 1
    49. stdout:
    50. [init] Using Kubernetes version: v1.19.4
    51. [preflight] Running pre-flight checks
    52. stderr:
    53. W1206 12:00:45.347385 2114 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
    54. [WARNING Hostname]: hostname "nginx01" could not be reached
    55. [WARNING Hostname]: hostname "nginx01": lookup nginx01 on 114.114.114.114:53: no such host
    56. error execution phase preflight: [preflight] Some fatal errors occurred:
    57. [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
    58. [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
    59. To see the stack trace of this error execute with --v=5 or higher
    60. *
    61. * If the above advice does not help, please let us know:
    62. - https://github.com/kubernetes/minikube/issues/new/choose
    63. [root@nginx01 ~]#

    解决方式
    https://minikube.sigs.k8s.io/docs/drivers/none/

    2:

    1. [root@nginx01 ~]# minikube start
    2. * minikube v1.15.1 on Centos 7.7.1908
    3. * Using the none driver based on user configuration
    4. X Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.19.4 requires conntrack to be installed in root's path

    启动minikube

    1

    1. minikube start

    2

    1. kubectl get po -A

    3

    1. kubectl get po -A
    1. minikube kubectl -- get po -A
    1. minikube dashboard

    4

    1. kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
    2. kubectl expose deployment hello-minikube --type=NodePort --port=8080
    1. kubectl get services hello-minikube
    1. minikube service hello-minikube
    1. kubectl port-forward service/hello-minikube 7080:8080