kubernetes部署服务
task为任务名(或服务程序名),部署服务时,需要将task改为对应的服务程序名即可,不可重复。
yaml文件中需要修改的只是有注释的部分。
1. deployment
deployment.yaml
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: task-deployment
spec:
replicas: 1 # 副本个数
template:
metadata:
labels:
app: task
spec:
volumes:
- name: task-storage
hostPath:
path: /home/liudong # 宿主机上的需要映射的目录
containers:
- name: task-container
image: 10.3.72.82:5000/fileserver:v1.0.0 # 镜像
ports:
- containerPort: 8081 # 服务端口
name: task
volumeMounts:
- mountPath: /data # 容器内映射目录
name: task-storage
调用kubectl create -f deployment.yaml
创建deployment。
2. service
service.yaml
kind: Service
apiVersion: v1
metadata:
name: task
spec:
selector:
app: task
type: NodePort
ports:
- port: 38081
targetPort: 8081 # 服务端口
调用kubectl create -f service.yaml
创建service。
通过kubectl get svc
查看端口映射
root@node7282:# kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
task 10.254.210.183 <nodes> 38081:30201/TCP 13m
其中,30201映射到应用的8081端口,
curl http://10.3.72.82:30201