本地配置一個kubernetes,可以方便我們學習測試kubernets。提高我們的學習效率,那麼如何在本地快速搭建一個kubernetes呢?
前提
環境:Mac系統
安裝docker
1,下載docker安裝包
https://download.docker.com/mac/edge/Docker.dmg
2,執行安裝
安裝kubernetes
1,安裝鏡像
將下面代碼保存為images文件
k8s.gcr.io/kube-proxy:v1.15.5=gotok8s/kube-proxy:v1.15.5
k8s.gcr.io/kube-controller-manager:v1.15.5=gotok8s/kube-controller-manager:v1.15.5
k8s.gcr.io/kube-scheduler:v1.15.5=gotok8s/kube-scheduler:v1.15.5
k8s.gcr.io/kube-apiserver:v1.15.5=gotok8s/kube-apiserver:v1.15.5
k8s.gcr.io/coredns:1.3.1=gotok8s/coredns:1.3.1
k8s.gcr.io/pause:3.1=gotok8s/pause:3.1
k8s.gcr.io/etcd:3.3.10=gotok8s/etcd:3.3.10
2,安裝腳本
將下面腳本保存為install_images.sh,和images在同級目錄下。
#!/bin/bash
file="images"
if [ -f "$file" ]
then
echo "$file found."
while IFS='=' read -r key value
do
#echo "${key}=${value}"
docker pull ${value}
docker tag ${value} ${key}
docker rmi ${value}
done < "$file"
else
echo "$file not found."
fi
3,執行腳本
4,切換kubernetes運行上下文
kubectl config use-context docker-desktop
安裝kubectl
1,下載軟件
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.5/bin/darwin/amd64/kubectl
2,添加執行權限
chmod +x ./kubectl
3,移動到系統bin目錄下
sudo mv ./kubectl /usr/local/bin/kubectl
4,測試
測試kubernetes部署情況
$ kubectl cluster-info
$ kubectl get nodes
$ kubectl describe node
配置dashbord
1,安裝,執行
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
2,開啟代理
kubectl proxy
3,訪問dashbord
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
此步驟需要token
kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}'
4,輸入token,並訪問
5,dashbord管理後臺
至此kubernets本地已經安裝好了。你可以部署並進行測試了。
由於我平時使用rancher來管理。它提供比dashbord更完善的管理功能。所以我們接下來安裝以下。
rancher安裝
1,資源要求
內存最少4096 MB。請自行調整。
2,軟件要求
需要安裝kubectl和helm,上文已經安裝了kubectl,我們來安裝下helm。
brew install kubernetes-helm
3,一些提前安裝的配置
helm install stable/cert-manager --name cert-manager --namespace kube-system --version v0.6.0 --set createCustomResource=true
cert相關安裝
4,創建serviceaccount tiller,給予tiller集群權限,初始化tiller service
kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller --wait
5,安裝一個ingress controller
helm install stable/nginx-ingress --name ingress-nginx --namespace ingress-nginx --wait
6,安裝Cert-Manager
helm install stable/cert-manager --name cert-manager --namespace kube-system --wait
7,添加helm下載資源來源
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
8,安裝rancher
helm install rancher-latest/rancher --name rancher --namespace cattle-system --set hostname=rancher.localhost --wait
9,配置host
127.0.0.1 kubernetes.docker.internal rancher.localhost
10,訪問
https://rancher.localhost/login
用戶名在初次登錄時,設置。
熟悉的頁面出現了。
故事到此結束了。
如果有什麼問題歡迎評論,指正。
《位加》與你同在。
閱讀更多 位加 的文章