# 服务部署(3): 使用 kubectl 启动服务(service) 经过 deployment,cloud_native_hello_py 项目的目录结构如下: ```bash . ├── Dockerfile ├── README.md ├── k8s.deployment.yaml └── src ├── main.py └── requirements.txt ``` 在根目录下增加一个文件`k8s.service.yaml`,内容如下: ```yaml apiVersion: v1 kind: Service metadata: name: cloud-native-hello-py spec: selector: app: cloud-native-hello-py ports: - protocol: TCP port: 1024 targetPort: 1024 ``` 注意 targetPort 必须和 deployment 步骤里容器的导出端口一致 使用如下的命令来创建服务 ```bash kubectl create -f k8s.service.yaml ``` ![](https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/img/service.png) 对服务做下端口转发 ![](https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/img/port_forward.png) 使用浏览器直接访问 ![](https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/img/it_works_html.png) HelloWorld! 恭喜你成功地在 K8S 上部署启动了一个 Python Flask 后端服务。 下面说法错误的是? ## 答案 kubectl 只能创建一个服务 ## 选项 ### A service 可以配置将端口映射到 deployment 里配置的容器端口 ### B 转发本机端口到服务端口后,本机可以直接访问服务 ### C 服务配置里的 selector 配置了选择 pod 的策略