目錄
環境:(docker ,k8s集群),繼續上次docker 啟動的java程序的鏡像為例(https://www.cnblogs.com/levcon/p/12442662.html)
將制作的鏡像推送到docker的私有倉庫
docker tag demo-img:latest localhost:5000/demo-img:1.0
docker push localhost:5000/demo-img:1.0
k8s部署該鏡像
k8s創建命名空間及secret
創建命名空間cl-test,這里名字根據自己的命名規范自己定義,我這是測試用的
kubectl create namespace cl-test
創建完ns后,我們要給這個ns創建secret
kubectl create secret docker-registry regcred --docker-server=your resroty ip:5000 --docker-username=root --docker-password=xxxx@ --docker-email=xxxx@163.com -n cl-test
控制台返回“secret/regcred created”表示創建成功
創建demo服務的yaml文件,我們service和deployment放在一個yaml文件中
---
apiVersion: v1
kind: Service
metadata:
name: demo-service
namespace: cl-test
labels:
app: demo-service
spec:
type: NodePort
ports:
- port: 8701
targetPort: 8701
protocol: TCP
name: http
selector:
app: demo-pod
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-deployment
namespace: cl-test
spec:
selector:
matchLabels:
app: demo-pod
replicas: 1
template:
metadata:
labels:
app: demo-pod
spec:
containers:
- name: demo-container
image: localhost:5000/demo-img:1.0 #本地私有鏡像庫的鏡像名稱+版本
ports:
- containerPort: 8701
啟動
kubectl create -f demo.yaml
查看pod
kubectl get pod -n cl-test
pod日志查看,正是我們之前java啟動時所展示的日志