kubernetes 应用快速入门

使用kubectl进行增、删、查、改等常用操作

查看kubectl命令帮助

  • kubectl -h

 

可以看到,命令帮助很人性化的帮我们对各个命令做了划分,让我们可以更好的学习和使用,下面我们开始使用kubectl命令在命令行下测试相关命令的用法

创建一个应用程序

1 创建一个应用程序,我们使用  “kubectl run ” 命令,是 “kubectl run -h” 查看命令使用帮助,命令说明告诉我们这个命令可以创建一个deployment或者job的容器

2 查看一下deployment的信息,是否有当前创建的

3 获取pod的信息,-o wide 表示更详细的显示信息

访问创建的 pod (nginx-deploy)

1 集群内访问

 

2 集群外部访问

 

当我们在集群之外访问是发现无法访问,那么集群之外的客户端如何才能访问呢?这就需要我们的service服务了,下面我们就创建一个service,是外部客户端可以访问我们的pod

 创建一个service

使用kubectl expose 可以创建一个service ,可以使用 kubectl expose -h命令查看命令帮助

 

查看我们service的详细信息

使用集群外客户端再一次访问,需要使用集群任意节点的IP地址加上暴露的端口号

 

 

service服务有个特点,如果端口暴露类型为NodePort,那么可以通过集群内任意一台主机加暴露的端口进行访问

 对nginx-deploy这个deployment进行扩容和缩减操作

查看 deployment 信息

扩容: 对名称为nginx-deploy类型为deployment的对象进行扩容,有初始的1个扩容到五个

 

查看 pod 扩容的过程

缩减:

现在我们对 nginx-deploy进行滚动升级及回滚操作,由1.14-alpine 升级到1.15-alpine,并由1.15-alpine回滚到1.14-alpine版本(nginx在docker hub上版本信息:https://hub.docker.com/_/nginx/)

滚动升级:

观察滚动升级的过程

查看任意一个pod的信息,看看镜像是否升级

 

版本回滚:

 

查看任意一个pod的信息,看看镜像是否回滚到1.14-alpine版本

 

 服务发现

先创建一个新应用,叫myapp:

 

运行一个客户端Pod,在客户端Pod内部通过service的名称去访问nginx服务

在busybox上测试访问

 

为myapp创建一个service

 

通过在busyboy上面访问 myapp svc 时随机分发到不同的pod

 

对此也可以尝试对 myapp(deployment) 做一些滚动升级,删除修改通过在集群内部通过服务ip会自动的发现 myapp pod

下面我们对刚刚操作的命令做一个大致的总结

  • kubectl run  创建一个deployment或job来管理创建的容器
  • kubectl get  显示一个或多个资源,可以使用标签过滤,默认查看当前名称空间的资源
  • kubectl expose 将一个资源暴露为一个新的kubernetes的service资源,资源包括pod (po), service (svc), replicationcontroller (rc),deployment(deploy), replicaset (rs)
  • kubectl describe 显示特定资源或资源组的详细信息
  • kubectl scale 可以对Deployment, ReplicaSet, Replication Controller, 或者StatefulSet设置新的值,可以指定一个或多个先决条件 kubectl set #更改现有的应用程序资源
  • kubectl rollout  资源回滚管理

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝赞助

微信钱包赞助

版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!:ABC资源站 » kubernetes 应用快速入门

切换注册

登录

忘记密码 ?

切换登录

注册