Kubernetes使用命令行实现副本的管理

本文介绍了如何使用kubectl命令行工具进行Kubernetes资源管理,包括创建deployment和服务,增减副本,更新镜像,回滚操作,以及将服务类型从ClusterIP改为NodePort。适合初学者快速上手Kubernetes。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:为了更好地的理解Kubernetes,我们平时在写yaml文件的时候可以直直接使用kubectl的一些命令直接创建,好处是能够快速的创建我们需要的资源类型,坏处是他的可定制性没有直接写yaml文件高。

step1创建deployment并创建service
[root@k8s-master ~]# kubectl run myapp --image=ikubernetes/myapp:v1 --replicas=2
[root@k8s-master ~]# kubectl expose deployment myapp --name=myapp --port=80
service/myapp exposed
[root@k8s-master ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP   39d
myapp        ClusterIP   10.96.88.100    <none>        80/TCP    5s
[root@k8s-master ~]# curl 10.96.88.100
Hello MyApp | Version: v1 | <a href="hostname.html">Pod Name</a>
[root@k8s-master ~]# curl 10.96.88.100/hostname.html
myapp-7c468db58f-xrmqx
[root@k8s-master ~]# curl 10.96.88.100/hostname.html
myapp-7c468db58f-rdpkq
[root@k8s-master ~]#

总结:clusterIP的service类型只能在集群内部访问,而且访问的方式是轮询

step2增加副本
[root@k8s-master ~]# kubectl scale --replicas=5 deployment myapp
deployment.apps/myapp scaled
[root@k8s-master ~]# kubectl get pod
NAME                         READY   STATUS    RESTARTS   AGE
myapp-7c468db58f-84c4k       1/1     Running   0          8s
myapp-7c468db58f-dvll2       1/1     Running   0          8s
myapp-7c468db58f-qx45d       1/1     Running   0          8s
myapp-7c468db58f-rdpkq       1/1     Running   0          11m
myapp-7c468db58f-xrmqx       1/1     Running   0          11m
step3减少副本
[root@k8s-master ~]# kubectl scale --replicas=3 deployment myapp
deployment.apps/myapp scaled
[root@k8s-master ~]# kubectl get pod
NAME                         READY   STATUS    RESTARTS   AGE
myapp-7c468db58f-dvll2       1/1     Running   0          60s
myapp-7c468db58f-rdpkq       1/1     Running   0          12m
myapp-7c468db58f-xrmqx       1/1     Running   0          12m
step4镜像的更新
[root@k8s-master ~]# kubectl set image deployments.apps myapp myapp=ikubernetes/myapp:v2
deployment.apps/myapp image updated
[root@k8s-master ~]# kubectl get pod
NAME                         READY   STATUS    RESTARTS   AGE
myapp-64758bffd4-7w2vc       1/1     Running   0          5s
myapp-64758bffd4-frgpq       1/1     Running   0          6s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值