K8S | 创建第一个应用
使用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
--完--
- 原文作者: 留白
- 原文链接: https://zfunnily.github.io/2020/08/firstk8s/
- 更新时间:2024-04-16 01:01:05
- 本文声明:转载请标记原文作者及链接