安裝Minikube

在容器編排工具中安裝配置最復(fù)雜的就是Kubernetes,想要運(yùn)行一個簡單的容器集群環(huán)境,對于沒有使用過Kubernetes的人來說,需要花費(fèi)一定的時間去理解各組件的概念和功能,再做大量的安裝配置工作才能運(yùn)行一個kubernetes集群。

從Kubernetes 1.3開始提供了一個叫Minikube的強(qiáng)大測試工具,可以在任意主機(jī)上運(yùn)行單節(jié)點(diǎn)的小型集群,這個工具默認(rèn)安裝和配置了一個Linux VM,Docker和Kubernetes的相關(guān)組件,并且提供Dashboard。目前支持在Linux, OS X及Windows上安裝,今天我們介紹的是在OS X上如何安裝Minitube。

Minitube項(xiàng)目地址:https://github.com/kubernetes/minikube

Kubectl安裝

如果可以訪問外網(wǎng):

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

或者指定版本:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.11.2/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

更好的方法是指定yum源:

國外:
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
國內(nèi)阿里:
cat >> /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF
查看kubectl版本:
[root@localhost /]# kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?

minikube安裝

[hongdada@localhost /]$ sudo curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v0.24.1/minikube-linux-amd64 && chattr -ai minikube && chmod +x minikube && sudo mv minikube /usr/local/bin/
[hongdada@localhost bin]$ minikube version
minikube version: v0.24.1

好吧,用hongdada賬戶操作遇到的權(quán)限問題太多,我下面切換到root賬戶

啟動

默認(rèn)啟動使用的是 VirtualBox 驅(qū)動,使用 --vm-driver 參數(shù)可以指定其它驅(qū)動。
minikube start --registry-mirror=https://registry.docker-cn.com  --vm-driver=none

安裝中遇到的問題:

錯誤信息:

    [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
: running command: sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.8 && sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8 && sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1 && sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1 && sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.8 && sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.8 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8 && sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.8 && sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8 && 
sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data-minikube --ignore-preflight-errors=Port-10250 --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI  &&
sudo /usr/bin/kubeadm alpha phase addon kube-dns

解決方法:

https://blog.csdn.net/xypds2010/article/details/52212323

在CentOS中
vim /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1

重啟。

啟動:

Unfortunately, an error has occurred:
    timed out waiting for the condition

This error is likely caused by:
    - The kubelet is not running
    - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)
    - Either there is no internet connection, or imagePullPolicy is set to "Never",
      so the kubelet cannot pull or find the following control plane images:
        - registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.10.0
        - registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.10.0
        - registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.10.0
        - registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.1.12 (only if no external etcd endpoints are configured)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
    - 'systemctl status kubelet'
    - 'journalctl -xeu kubelet'
couldn't initialize a Kubernetes cluster
: running command: sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.8 && sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8 && sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1 && sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1 && sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.8 && sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.8 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8 && sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.8 && sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8 && 
sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data-minikube --ignore-preflight-errors=Port-10250 --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI  &&
sudo /usr/bin/kubeadm alpha phase addon kube-dns 

還是有問題,明顯是docker鏡像沒有拉下來

解決方法:

好吧,我還是搞定不了,媽蛋的,一堆坑。

使用kubectl低版本1.5.2,可以安裝,但是dashboard還是有問題,估計都是鏡像拉取問題。

操作:

[root@localhost hongdada]# minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 18.16.202.33
[root@localhost hongdada]# minikube dashboard
Could not find finalized endpoint being pointed to by kubernetes-dashboard: Error validating service: Error getting service kubernetes-dashboard: services "kubernetes-dashboard" not found

結(jié)果只實(shí)現(xiàn)了部分,應(yīng)該是沒有虛擬機(jī)的原因。

參考:
https://ehlxr.me/2018/01/12/kubernetes-minikube-installation/
https://www.hi-linux.com/posts/14955.html
https://yq.aliyun.com/articles/221687
https://blog.csdn.net/huwh_/article/details/81506240
https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl
http://www.mdslq.cn/archives/5e6f338.html
https://zxc0328.github.io/2017/10/26/k8s-setup-1-7/
https://gitee.com/Rachird/kubernetes

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 昨天期末考試成績出來了,兒子心情很是失落,經(jīng)過努力數(shù)學(xué)有了很大進(jìn)步,而語文英語有了退步,特別是英語的退步兒子心...
    夜雨軒1991閱讀 516評論 1 3
  • 逍遙誰記數(shù)云游,全任江湖定去留。 自是不知莊子樂,幾曾一會太公鉤。 寡情真合天相與,奇志卻應(yīng)人枉求。 偶作盤中好滋...
    姑射閱讀 628評論 2 13
  • 對于很多管理領(lǐng)導(dǎo)者來說,提高自己的領(lǐng)導(dǎo)能力是非常重要的,也就是說,只有具備非常良好的溝通能力以及決策能力,才能讓自...
    4f525100a234閱讀 295評論 0 0
  • 跟隨法律經(jīng)濟(jì)學(xué)學(xué)者,對反壟斷法100多年來的實(shí)踐、對它給商業(yè)活動造成的影響、對它給學(xué)術(shù)研究造成的影響做一個反思。法...
    爺有蔓草閱讀 660評論 0 1

友情鏈接更多精彩內(nèi)容