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

猜你喜欢

转载自www.cnblogs.com/walkinginthesun/p/10608570.html