cd ~
vi pod-demo.yaml
# 內容如下
apiversion: v1
kind: pod
metadata:
name: pod-demo
namespace: default
labels:
tier: frontend
spec:
containers:
- name: busybox
image: busybox:latest
command:
- "/bin/sh"
- "-c"
- "sleep 3600"
# 使用 kubectl create 建立 pod
kubectl create -f pod-demo.yaml
# 檢視日誌
# 進入 pod 中的容器內部
vi deploy-demo.yaml
# 內容如下
# 通過 kubectl describe 檢視 deployment 資訊
deamonset 用於每個 node 最多隻執行乙個 pod 副本的場景。正如其名稱所揭示的,daemonset 通常用於執行 daemon。如果乙個 yaml 檔案中需要定義兩種資源需要使用 --- 進行分割。
vi ds-demo.yaml
# 內容如下
kind: deployment
metadata:
name: redis
namespace: default
spec:
replicas: 1
selector:
matchlabels:
role: logstor
template:
metadata:
labels:
role: logstor
spec:
containers:
- name: redis
image: redis:4.0-alpine
ports:
- name: redis
containerport: 6379
---kind: daemonset
metadata:
namespace: default
spec:
selector:
matchlabels:
release: stable
template:
metadata:
labels:
release: stable
spec:
containers:
- name: filebeat
image: ikubernetes/filebeat:5.6.5-alpine
env:
- name: redis_host
value: redis.default.svc.cluster.local
- name: redis_log_level
value: info
kubectl expose deployment redis --port=6379
# 內容如下:
apiversion: v1
kind: service
metadata:
namespace: default
spec:
selector:
release: canary
clusterip: 10.99.99.99
type: nodeport
ports:
- port: 80
targetport: 80
nodeport: 30080
# 說明
port :service 暴露在 cluster ip上的埠
targetport :targetport 是 pod 上的埠
nodeport : 暴露在集群物理節點上 node 的埠
可以使用其他機器訪問 kubernets 上的 30080 埠來訪問頁面
eg:192.168.31.205:30080
192.168.31.206:30080
192.168.31.207:30080
K8S 服務編排YAML
yaml 是一種簡潔的非標記語言。語法格式 在k8s部署乙個應用的yaml內容大致分為兩部分 控制器定義 定義控制器屬性 被控制物件 pod模板,定義容器屬性 具體字段意義 apiversion api版本 kind 資源型別 metadata 資源元資料 spec 資源規格 replicas 副本...
k8s中的yaml檔案詳解
yaml格式的pod定義檔案完整內容 apiversion v1 必選,版本號,例如v1 kind pod 必選,pod metadata 必選,元資料 name string 必選,pod名稱 namespace string 必選,pod所屬的命名空間 labels 自定義標籤 name str...
k8s中yaml檔案的詳解
yaml格式的pod定義檔案完整內容 apiversion v1 必選,版本號,例如v1 kind pod 必選,pod metadata 必選,元資料 name string 必選,pod名稱 namespace string 必選,pod所屬的命名空間 labels 自定義標籤 name str...