多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 使用k8s部署第一个应用 创建一个nginx.yaml文件 ``` apiVersion: v1 kind: Pod metadata: name: nginx # 指定 label,便于检索 labels: app: nginx spec: containers: - name: nginx # 指定镜像 image: nginx:alpine # 指定暴露端口 ports: - containerPort: 80 --- # 创建网络服务 apiVersion: v1 kind: Service metadata: name: kube-node-service labels: name: kube-node-service spec: type: NodePort #这里代表是NodePort类型的 ports: - port: 80 #这里的端口和clusterIP(10.97.114.36)对应,即10.97.114.36:80,供内部访问。 targetPort: 80 #端口一定要和container暴露出来的端口对应,nodejs暴露出来的端口是8081,所以这里也应是8081 protocol: TCP nodePort: 32143 # 所有的节点都会开放此端口,此端口供外部调用。 selector: app: nginx #这里选择器一定要选择容器的标签,之前写name:kube-node是错的。 ``` 执行指令: ``` sudo kubectl create -f nginx.yaml ``` 查看 服务 ``` sudo kubectl get service ``` 查看 pod ``` sudo kubectl get pod ``` 访问: ``` ip:32143 ``` 就可以看到ngixn的欢迎页面啦 ## 同一个service开启多个端口 一般我们只有一个端口的时候,在service的yaml文件: ``` ports: - nodePort: 8482 port: 8080 protocol: TCP targetPort: 8080 ``` 而如果你想开两个端口,直接复制粘贴可不行,k8s会提示你必须要加上name。所以,如果要开多端口,要为每个port都指定一个name,如: ``` ports: - name: http nodePort: 8482 port: 8080 protocol: TCP targetPort: 8080 ```