把openapi服务部署上k8s,写了两个yaml文件,一个openapi.conf文件
# 创建命名空间
kubectl create namespace openapi
# 根据config文件创建configmap
kubectl -n openapi create configmap openapi-configmap --from-file=openapi.conf
# 根据deployment.yaml创建pod
kubectl -n openapi create -f deployment_openapi.yaml
# 根据service.yaml创建服务(感觉service就是做了pod外面的转发功能)
kubectl -n openapi create -f service_openapi.yaml
# 获取pod并进入
kubectl -n keystone get pods
kubectl -n keystone exec -it POD-ID -- bash
# service.yaml
apiVersion: v1
kind: Service
metadata:
name: service-openapi
namespace: openapi
spec:
type: NodePort
ports:
- name: port-1
port: 8000 # inner
targetPort: 8000 # container port
nodePort: 8000 # out
selector:
app: label-openapi
# deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: deployment-openapi
namespace: openapi
spec:
replicas: 1 # pod number
template:
metadata:
labels:
app: label-openapi # pod label
spec:
containers:
- name: container-openapi
image: qiyun/openapi:latest
imagePullPolicy: Never
ports:
- containerPort: 8000
- containerPort: 22
volumeMounts:
- name: openapi # volume name in k8s
mountPath: /configfile # config file path
volumes:
- name: openapi
configMap:
name: openapi-configmap # configmap name in k8s
items:
- key: openapi.conf # config file name in k8s
path: openapi.conf # config file path