一、通过yaml文件创建
- 创建命名空间
kubectl create namespace test #创建一个叫test的命名空间
- 创建一个
nginx-test.yaml
文件,编辑内容
vim nginx-test.yaml
将下述内容复制到yaml文件中
--- apiVersion: apps/v1 kind: Deployment metadata: name: nginx namespace: test # 指定命名空间,如果不想指定,可以将此行删除 labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest imagePullPolicy: IfNotPresent ports: - name: http protocol: TCP containerPort: 80 resources: limits: cpu: "1.0" memory: 512Mi requests: cpu: "0.5" memory: 128Mi --- apiVersion: v1 kind: Service metadata: annotations: name: nginx-test-service namespace: test # 指定命名空间,如果不想指定,可以将此行删除** spec: ports: - port: 80 targetPort: 80 nodePort: 32001 protocol: TCP selector: app: nginx sessionAffinity: None type: NodePort
- 部署nginx应用
kubectl apply -f nginx-test.yaml
- 查看pod
kubectl get pods -n test # -n :指定命名空间,否则就是默认命名空间 -A:不指定,即所有的命名空间 kubectl get pods -n test -o wide # 部署节点的node详细信息
- 查看暴露的端口号
kubectl get pods,svc -n test # 记得指定命名空间
6、通过node节点IP+端口号访问
二、通过命令创建
- 生成nginx对应的yaml文件
kubectl create deployment nginx-test1 --image=nginx --dry-run -o yaml > nginx-test1.yaml
- 部署nginx应用
kubectl apply -f nginx-test1.yaml
- 查看pod
kubectl get pods
- 暴露端口号
# 生成svc的yaml文件 kubectl expose deployment nginx-test1 --port=80 --target-port=80 --type=NodePort --name=nginx-test1 -o yaml >nginx-test1-svc.yaml # 执行svc的yaml文件 kubectl apply -f nginx-test1-svc.yaml # 查看 kubectl get pods,svc
5、通过node节点IP+端口号访问