操作案例
yaml 文件需要配置的字段比较多,用以下命令可以取得导出的yaml文件
kubectl create deployment web --image=nginx:1.14 --dry-run -o yaml > web.yaml然后以yaml配置文件部署应用
kubectl apply -f web.yaml然后以下命令可以看到发布的应用状态,STATUS为Running时就是正常发布了
kubectl get pods此时还只能在集群内部访问发布的服务,所以还需要对外暴露这个服务
kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web-service -o yaml > web-service.yaml再发布这个Service,修改 web-service.yaml 文件的nodePort字段,可以修改对外暴露的端口号
kubectl apply -f web-service.yaml然后查看暴露出来的端口,用集群任意一个节点的ip加此端口都可以访问到发布的服务
kubectl get pods,svc查看资源详情
kubectl describe pod redis-0查看日志
kubectl logs mysql-0
# 如果一个Pod有多个容器
kubectl logs backend-service-66b5d6958d-9hdhm --container bio-r进入容器,假设创建了一个mysql的StatefulSet
# mysql-0是编号为0的Pod,--container 指定进入该Pod的名为mysql的容器
kubectl exec -it mysql-0 --container mysql bash 升级
上一步使用的 nginx 版本是 1.14,现在对它进行升级,k8s会对所有服务实例逐个滚动升级,服务不会中断
kubectl set image deployment web nginx=nginx:1.15用以下命令查看升级的状态
kubectl rollout status deployment web回滚
查看历史版本
kubectl rollout history deployment web回退到上一个版本
kubectl rollout undo deployment web查看回滚状态
kubectl rollout status deployment web查看历史版本时,可以看到版本号,可以回滚到指定版本
kubectl rollout undo deployment web --to-revision=2弹性伸缩
修改服务数量
kubectl scale deployment web --replicas=10查看运行状态
kubectl get podsLast updated
Was this helpful?