微服務,Kubernetes,用minikube單機部署,運維部署,方便的安裝中間件,本地測試開發,節省時間 ...
# 目前公司用的是阿裡雲的容器服務 所以本地搭建個單機版 方便測試使用
# VMware® Workstation 12 Pro 版本
# 虛擬機環境配置:配置 2核 4G 網路橋接
# 系統鏡像: CentOS-7-x86_64-Minimal-1810.iso 最好從阿裡雲鏡像系統下載可以省去yum倉庫的配置
# 網站地址: https://developer.aliyun.com/mirror/
# 下載 CentOS-7-x86_64-Everything-1908.iso 這個更省事 鏈接如下
https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-Everything-1908.iso
# docker 文檔
https://docs.docker.com/engine/install/centos/
# 執行 su 切換到 root 用戶
# 關掉防火牆
# systemctl stop firewalld
# systemctl disable firewalld
# 清理老版本
# sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# cd /etc/yum.repos.d
# xftp 上傳附件 *.repo 文件到 /etc/yum.repos.d
# yum update
# 阿裡雲鏡像加速地址,自行阿裡雲申請
# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}
# 安裝 docker
# sudo yum install docker-ce docker-ce-cli containerd.io
#會從阿裡雲下載鏡像
# 啟動docker 服務
# systemctl start docker
# systemctl enable docker
# 查看版本
# docker version
Client: Docker Engine - Community
Version: 19.03.8
Server: Docker Engine - Community
Engine:
Version: 19.03.8
# 安裝 minikube , kubectl 自行下載 或 直接使用附件
# 文檔 https://kubernetes.io/zh/docs/tasks/tools/install-minikube/
# cd /home/admin/
# 自己下載
# curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
# https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/
# curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl && chmod +x kubectl
# 使用附件 minikube和kubectl軟體 上傳到 /home/admin
# 執行
# sudo mkdir -p /usr/local/bin/
# sudo install minikube /usr/local/bin/
# sudo install kubectl /usr/local/bin/
# 查看版本
minikube version
minikube version: v1.9.0
# 確保 root用戶
# su root
# 執行單機版 driver=none 配置 image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers 否則鏡像下載極慢
# minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --driver=none
# 問題 缺少conntrack : X Sorry, Kubernetes v1.18.0 requires conntrack to be installed in root's path
# yum install conntrack
# 再次運行
# minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --driver=none
# 首次較慢等待下載完成 缺保配置有 4g記憶體
# 啟動成功 顯示如下
# Done! kubectl is now configured to use "minikube"
# 查看
# kubectl get pod --all-namespaces
# 輸入如下來解決網路問題的報錯
# echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
#伺服器上執行,啟動管理界面,伺服器本地可以瀏覽器查看面板 Minimal版本os沒有桌面
minikube dashboard
#伺服器上執行代理8001 到面板服務
kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'
# 並開放埠8001或關閉防火牆 ping ipxxxxx 8001 通不通
# 客戶端 瀏覽器訪問
# http://ipxxxxx:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default
# 查看版本
# kubectl version
#處理 ingress
#先下載鏡像 下載有點慢
docker pull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
minikube addons enable ingress
# 上傳附件中 mq的Dockerfile /root
# docker build -t rabbitmq:2020 .
# 查看鏡像 rabbitmq:2020
# docker images
# 上傳附件中 mq的rabbitmq-deployment.yaml /root
# 部署 rabbitmq
# kubectl apply -f rabbitmq-deployment.yaml
# 查看
kubectl get pod
#port-forward 埠轉發的前置依賴軟體安裝
# sudo yum install -y socat
#查看伺服器端配置
# kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /root/.minikube/ca.crt
server: https://192.168.1.166:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /root/.minikube/profiles/minikube/client.crt
client-key: /root/.minikube/profiles/minikube/client.key
#把伺服器上 .minikube 目錄下的文件拷貝下來
在本機的 C:\Users\xxxName\.kube\ 文件目錄添加證書文件 編輯cnfig添加cluster 配置和證書及用戶密碼
/root/.minikube/ca.crt C:\Users\xxxName\.kube\minica.crt
/root/.minikube/profiles/minikube/client.crt C:\Users\xxxName\.kube\miniclient.crt
/root/.minikube/profiles/minikube/client.key C:\Users\xxxName\.kube\miniclient.key
# 編輯宿主機本地config添加cluster 配置和證書及用戶密碼
apiVersion: v1
clusters:
- cluster:
certificate-authority: minica.crt
server: https://192.168.1.166:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: miniclient.crt
client-key: miniclient.key
# 本機執行
# kubectl get pod
# 客戶端埠轉發訪問服務 管理mq
kubectl port-forward rabbitmq-0 15672:15672
本地瀏覽器訪問
http://localhost:15672/
guest/guest 登錄查看
自己部署相關服務,本地調試還是很不錯的,之前都是用虛擬機安裝常用中間件現在方便多了
自我學習記錄,如有不足請大家指教.
共用附件:
鏈接:https://pan.baidu.com/s/1j7W22uFXgS_QNuDW3UlNnw
提取碼:10fr