YAML示例:创建单幅本nginx容器到指定节点及其service
# one rc deployment, schedule it to the node that has a label "ip" equals to "172.18.8.241"
# dvwa image on arm platform: petechua/docker-vulnerable-dvwa:1.0
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-dvwa
spec:
replicas: 1
selector:
matchLabels:
app: test-dvwa
template:
metadata:
labels:
app: test-dvwa
spec:
nodeSelector:
ip: 192.168.1.1
containers:
- name: nginx
image: vulnerables/web-dvwa:latest
ports:
- containerPort: 80
---
# expose 80 port server
apiVersion: v1
kind: Service
metadata:
name: dvwa-service-test
spec:
selector:
app: test-dvwa
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP
上面 ip: 192.168.1.1 这个tag要事先打到对应的节点上,就是 kubectl get nodes --show-labels
要能看见。另外,这个yaml没有标明namespace, 可以在创建资源时用命令加上: kubectl apply -f xxx.yaml -n test