kubernetes的基本操作

基础操作

查看集群信息
kubectl cluster-info

查看组件健康状态
kubectl get cs(componentstatuses)

1、集群操作
kubectl get pod --all-namespaces

2、查看指定namespace的pod的状态以kube-system为例
kubectl get pod --namespace=kube-system

查看pod详细信息
kubectl describe pod kube-apiserver-master --namespace=kube-system

查看pod详细run信息
kubectl get pods -o wide

查看node节点详细信息
kubectl describe node hostname

查看deployment状态
kubectl get deployment

查看指定deployment详细信息
kubectl describe deployment deployment_name

删除一个deployment
kubectl delete deployment deployment_name

查看创建的service
kubectl get service 或 kubectl get svc
kubectl describe service service_name

删除service
kubectl delete service service_name

设置label
kubectl label node node-1 disktype=ssd

查看设置的label
kubectl get node --show-labels


实例操作:

以kubernetes-bootcamp 为例

部署应用(kubernetes-bootcamp)
kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080
查看部署的应用,这里deployment为kubernetes术语,理解为应用。
kubectl get deployment
查看当前pod
kubectl get pods
查看 pod实际运行在哪个节点上
kubectl get pod -o wide
访问
curl 10.244.2.21:8080

创建Service
默认情况下使用pod只能在集群内部进行访问,为了能在外部访问容器,需要将容器应用的
端口映射到node节点端口。
修改kubernetes-bootcamp的端口类型为NodePort,容器内端口为8080,映射的端口会自
动从30000~32767中挑选一个。
services可以认为是端口映射。
kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port=8080
kubernetes-bootcamp分配到了node-2上,可以直接访问node-2的:31079

scale应用(弹性伸缩)
当前kubernetes-bootcamp副本数还是为1
扩展应用为3
kubectl scale deployment/kubernetes-bootcamp --replicas=3
缩减pod数为2
kubectl scale deployment/kubernetes-bootcamp --replicas=2

滚动更新
当前应用image版本为v1,升级为v2
kubectl set image deployment/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
注释:可以看见kubernetes是创建出两个v2版本的镜像,然后在缓慢用v2将v1替换掉,在次访问,版本是v2了

回退版本
kubectl rollout undo deployment/kubernetes-bootcamp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker和Kubernetes是两个在容器化应用领域非常流行的工具。 Docker是一种容器化平台,它可以将应用程序及其依赖项打包到一个可移植的容器中,以便在不同的环境中运行。Docker使用了Linux内核的容器技术,通过隔离进程、文件系统和网络等资源,实现了高度可移植、可扩展且隔离的应用运行环境。Docker容器可以在任何支持Docker的操作系统上运行,而不受底层操作系统的限制。 Kubernetes是一个开源的容器编排和管理平台,它可以帮助我们自动化容器的部署、扩展和管理。Kubernetes提供了一个集群管理的框架,可以将多个Docker容器组织成一个弹性、可伸缩的应用。Kubernetes通过自动化调度、负载均衡、容错恢复等机制,实现了高可用性和高性能的容器集群。 基本原理上,Docker通过使用Linux内核的容器技术实现了应用程序与底层操作系统的隔离。它使用了命名空间、控制组、文件系统等技术,确保每个容器拥有独立的运行环境。 Kubernetes则是建立在Docker之上的容器编排和管理平台。它通过使用API来管理容器集群,提供了自动化的容器编排、服务发现、负载均衡、水平扩展、滚动升级等功能。Kubernetes利用标签和选择器机制,可以方便地对容器进行管理和操作。 总的来说,Docker提供了容器化的运行环境,而Kubernetes则提供了容器集群的编排和管理能力,使得我们可以更方便地部署和管理容器化应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值