《四》公司項目部署到Kubernetes平臺

準備工做與注意事項

參考文檔:https://github.com/lizhenliang php

1、部署的項目狀況
一、業務架構及服務(dubbo,spring cloud)
二、第三方服務,例如mysql,redis,zookeeper,eruka,mq
三、服務之間怎麼通訊?
四、資源消耗:硬件資源,帶寬。html

2、部署項目時用到的K8S資源
一、使用namespace進行不一樣項目隔離,或者隔離不一樣環境(test,prod,dev)
二、無狀態應用(deployment)
三、有狀態應用(statefulset,pv,pvc)
四、暴露外部訪問(Service,ingress)
五、secret,configmapjava

3、項目基礎鏡像node

4、編排部署mysql

鏡像爲交付物。nginx

一、項目構建(java)。CI/CD環境這個階段自動完成(代碼拉取->代碼編譯構建->鏡像打包->推送到鏡像倉庫)。
二、編寫yaml文件,使用這個鏡像
1)deployment部署web
2)statefulset部署mysql
3)鏡像認證拉取secret
4)service & ingressgit

5、工做流程github

kubectl -> yaml -> 鏡像倉庫拉取鏡像 -> Service(集羣內部訪問)/Ingress 暴露給外部用戶web

如下是php-demo
一、登陸到node任意一個節點上(node:192.168.1.23),下載php實驗代碼,而後再將她推到鏡像倉庫(harbor)redis

git clone https://github.com/lizhenliang/php-demo

二、mysql 獨立出來,不在pod中,在192.168.1.25上安裝mariadb
1)yum -y install mariadb mariadb-server && systemctl start mariadb
2)mysql_secure_installation 設置密碼 123456
3)create database wordpress; #新建數據庫
4)grant all on . to 'root'@'%' identified by '123456'; #開放root訪問權限

三、更改配置php-demo/wp-config.php 中的數據庫鏈接信息

四、如下的意思就是一、獲取 lizhenliang/nginx-php:latest 這個鏡像。二、做者信息:jacker 三、把當前的代碼添加到鏡像的/usr/local/nginx/html這個裏面

《四》公司項目部署到Kubernetes平臺

[root@docker php-demo]# vi Dockerfile
FROM lizhenliang/nginx-php:latest
MAINTAINER jacker
ADD . /usr/local/nginx/html

五、開始構建鏡像(.:默認就是dockerfile文件)

先要登陸到harbor上,纔有權限
docker login 192.168.1.25

[root@docker php-demo]# docker build -t 192.168.1.25/project/php-demo .

六、開始推到harbor上
docker push 192.168.1.25/project/php-demo

七、登陸harbor 192.168.1.25查看

八、如今到主節點上建立pod
1)在master上要有權限拉取鏡像,方法以下:https://blog.csdn.net/xukangkang1hao/article/details/80839834
獲取以下:
《四》公司項目部署到Kubernetes平臺

2)建立命名空間
kubectl apply -f namespace.yaml
3)建立拉取鏡像權限的祕鑰
kubectl apply -f registry-pull-secret.yaml
4)建立service來暴露端口服務
kubectl apply -f service.yaml
5)建立ingress來讓域名訪問,ingress關聯到的是servicename
kubectl apply -f ingress.yaml
6 ) 建立deployment
kubectl apply -f deployment.yaml

設置好標籤,爲了能夠回滾
《四》公司項目部署到Kubernetes平臺

驗證:
《四》公司項目部署到Kubernetes平臺

域名綁定到任意一個節點上:
《四》公司項目部署到Kubernetes平臺

訪問:http://php.ctnrs.com/ 驗證

相關文章
相關標籤/搜索