kubernetes deployment

deployment是k8s中部署應用最多見的一種方式。若是不須要被訪問,那麼只須要定義deployment便可。若是須要被其餘服務訪問,那麼能夠建立一個service與其綁定,經過訪問service來訪問對應的服務。node

 

 

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: my-nginx
spec:
#副本數量 replicas:
1 template: metadata: labels: run: my-nginx spec: containers: - name: my-nginx image: nginx ports:
# 暴露容器的80端口
- containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: my-nginx labels: run: my-nginx spec: ports: - port: 80 protocol: TCP nodePort: 30010
#將設置的nodePort端口映射到宿主機上 type: NodePort
#與deployment進行綁定 selector: run: my
-nginx

如上建立一個nginx的應用,訪問任意節點IP:30010端口就就能夠看到nginx的web頁面。nginx

比較關鍵的是,這裏設置了deployment和service都設置了run: my-nginx,來綁定在一塊兒。web

replicas字段設置pod數量,多個pod會經過service進行負載均衡。api

 

建立:kubelctl apply -f ngixn.yaml(再次執行能夠更新)app

驗證:curl 127.0.0.1:30010負載均衡

若是有問題能夠經過curl

kubectl get podurl

kubectl describe pod my-nginxspa

kubectl logs my-nginx 來排除問題3d

 

若是是稍微複雜的應用:

master-work結構,work向master註冊,而後由master分配任務

 

那麼就須要這麼建立

相關文章
相關標籤/搜索