k8s集群部署項目完整過程記錄


將k8s-web項目制作成鏡像

構建 study/k8s-web:1.0 鏡像

構建java環境並上傳jar包
docker pull java:8u111
0
mkdir /usr/dockerfile -p(將k8s-web.jar上傳到 /usr/dockerfile 目錄下)
vim dockerfile-demo
FROM java:8u111
COPY k8s-web.jar /root
CMD ["nohup","java","-jar","/root/k8s-web.jar","&"]
構建鏡像(注意: 需要在 /usr/dockerfile 目錄下執行以下命令,命令行最后的空格和.不能去掉
  docker build -f dockerfile-demo -t study/k8s-web:v1 .
0
  docker images
0

將k8s-web項目鏡像推送到阿里雲

docker login --username=你的阿里雲用戶名 registry.cn-hangzhou.aliyuncs.com
給k8s-web鏡像打標簽:
sudo docker images
sudo docker tag 5e365da78fe3 registry.cn-hangzhou.aliyuncs.com/hlyao/k8-test:v1
0
sudo docker push registry.cn-hangzhou.aliyuncs.com/hlyao/k8-test:v1
0

將阿里雲鏡像拉取到k8s集群並運行

kubectl run k8s-web --image=registry.cn-hangzhou.aliyuncs.com/hlyao/k8-test:v1
0
查看deployment
0
查看pod
0
可以看到,項目已運行成功。

公布應用

我們已經將項目部署成功,但目前這個服務是運行在k8s集群內部,我們無法在外部對其進行訪問,若要訪問它,則需要配置一個對外公布的Service。
編寫一個k8s-web-service.yaml:
---
apiVersion: v1
kind: Service
metadata:
  name: k8s-web
  namespace: default
spec:
  ports:
    - name: client
      nodePort: 30002
      port: 8080
      protocol: TCP
      targetPort: 8080
  selector:
    run: k8s-web
  sessionAffinity: None
  type: NodePort
注意:這里的nodePort取值范圍必須在30000-32767之間
上傳到master節點的/root目錄下,執行以下命令:
kubectl apply -f k8s-web-service.yaml
查看service:
0
 
開放30002端口:
systemctl disable firewalld.service
systemctl start firewalld.service
firewall-cmd --zone=public --add-service=30002/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
有時可能需要重啟虛擬機,才能訪問到對應的服務。

測試部署在k8s集群上的服務

數據庫連接配置:
0
查詢數據:
0
添加數據:
0
0
更新數據:
0
0
刪除數據:
0
0

k8s相關命令

k8s刪除pod命令:
kubectl delete pod pod名稱
 
查看pod運行節點情況:
kubectl get pod -n kube-system -o wide(查看名為 kube-system 的命名空間中的pod運行情況)
 
查看pod資源(非常詳細):
kubectl describe pod
 
獲取deployment:
kubectl get deployment(查看基本信息)
kubectl get deployment -n default -o wide(查看較詳細信息)
0
 
刪除deployment:
kubectl delete deployment 服務名
 
查看pod(容器組):
kubectl get pod -n default -o wide
 
查看label信息:
kubectl get pod --show-labels
0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM