(七)k8s部署应用 基本流程
方式一:使用Deployment控制器部署镜像 部署应用相关的命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #使用Deployment控制器部署镜像 kubectl create deployment web --image=nginx --replicas=3 kubectl get deploy,pods #使用Service将Pod暴露出去 kubectl expose deployment web --port=80 --target-port=80 --type=NodePort kubectl get service #浏览器访问应用 http://NodeIP:Port#端口随机生成,通过get svc获取 ### 查看日志 #查看部署的pod kubectl get pods #查看当前pod的日志 kubectl logs web-76b56fd968-pnsph -f
方式二:使用yaml配置文件部署镜像 deployment.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 apiVersion: apps/v1 kind: Deployment metadata: name: web spec: replicas: 3 selector: matchLabels: app: nginx1 template: metadata: labels: app: nginx1 spec: containers: - name: nginx image: nginx
删除部署应用 1 2 3 4 5 6 7 # 查看所有的deployment kubectl get deployment # 查看所有的service kubectl get service # 删除应用 kubectl delete deployment web kubectl delete service web
部署应用 1 2 3 4 # yaml 配置文件发布应用 kubectl apply -f deployment.yml # 将端口号暴露到公网(也可以创建service.yml) kubectl expose deployment web --port=80 --target-port=80 --type=NodePort
创建service将应用对外暴露服务 service.yml
1 2 3 4 5 6 7 8 9 10 11 12 apiVersion: v1 kind: Service metadata: name: web spec: selector: app: nginx1 ports: - protocol: TCP port: 80 targetPort: 80 type: NodePort
创建service
kubectl apply -f service.yml
查看service关联的容器对象
kubectl kubectl get endpoints