查看节点
[root@k8s-master data]# kubectl get pod NAME READY STATUS RESTARTS AGE helloworld-deployment-cddb745bf-5cvdm 0/1 ImagePullBackOff 0 33m java-68cd4b9d4b-l4zc7 0/1 ContainerCreating 0 2s nginx-6799fc88d8-ddp28 1/1 Running 0 3h18m
生成yaml模板
create deployment java --image=helloworld-app --dry-run -o yaml > java.yaml
kubectl logs java-68cd4b9d4b-l4zc7
kubectl edit service helloworld-deployment
创建dockerfile
创建镜像
查看镜像
在K8S中部署应用
1.创建yaml模板
create deployment java --image=helloworld-app --dry-run -o yaml > helloworld-deployment.yaml
- 1
2.修改模板
vim
helloworld-deployment.yaml
3.创建项目pod
kubectl apply -f helloworld-deployment.yaml
kubectl logs web-dc77dd8db-hhrxz #检查日志
kubectl get pod 查看pod
kubectl get deploy #查看deployment有那些
4.创建Serice服务
kubectl expose --name=helloworld-deployment deployment helloworld-deployment --port=8080 --target-port=8080 --type=NodePort
# kubectl expose +(资源的类型)+(资源的名称)+(service端口)+(后端服务的端口)+类型(Nodeport随机端口)
kubectl get service
#查看service服务的端口
任意一个node节点的ip+30615 就能访问该项目
要更改 Kubernetes 服务的端口,请使用以下命令:
kubectl edit service helloworld-deployment
curl http://10.0.4.17:30615 可以查看 服务是否正常启动
5.升级服务(滚动更新)
.升级服务(滚动更新)
kubectl set image deployment web java=nginx
`#kubectl set image+ 资源类型+名字(web)+ (java=nginx)原镜像名=新镜像名`
#kubectl edit service/web #如果配置文件有改动,直接修改server
http://192.168.106.103:30909/ #能够访问到最新的项目
6.回滚项目
kubectl rollout history deployment web
#查看历史版本
kubectl rollout undo deployment web #回滚到上一个版本
修改service/web端口改为8080,即可访问上一个版本的项目,nginx和tomcat是不同的端口
#kubectl rollout undo deployment web --revision=3 ,指定回滚版本
- 1
- 2
- 3
7.副本的扩容/缩容
kubectl scale deployment web --replicas=5
#将web服务副本扩容成5个(原来三个)
- 1
- 2
kubectl scale deployment web --replicas=2
- 1
刚才5个副本已经变成2个副本了
8.删除service
kubectl delete deployment/web
kubectl delete svc/web
标签:kubectl,service,web,--,使用,helloworld,deployment,k8s
From: https://www.cnblogs.com/JIKes/p/18045150