pod简单启动一个python http服务,而又不想打镜像,可以把python代码写到command中,示例:
apiVersion: v1
kind: Pod
metadata:
name: python-http-server
spec:
containers:
- name: python-http-server
image: python:3
command:
- /bin/bash
- -c
- |
python3 -c "
from http.server import BaseHTTPRequestHandler, HTTPServer
import json
class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
if self.path == '/v1/test':
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
response = json.dumps({'test': 'ok'})
self.wfile.write(response.encode('utf-8'))
elif self.path == '/':
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
response = json.dumps({'root': 'ok'})
self.wfile.write(response.encode('utf-8'))
else:
self.send_response(404)
self.send_header('Content-type', 'application/json')
self.end_headers()
response = json.dumps({'error': 'Not Found'})
self.wfile.write(response.encode('utf-8'))
def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler, port=8000):
server_address = ('', port)
httpd = server_class(server_address, handler_class)
print(f'Starting httpd server on port {port}...')
httpd.serve_forever()
if __name__ == '__main__':
run()
"
ports:
- containerPort: 8000