打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
『高级篇』docker之kubernetes基础集群命令小实战(35) – IT人故事会

   下面我们就来试试看怎么去操作,控制它。我们从最简单的命令开始,尝试一下kubernetes官方的入门教学:playground的内容。了解如何创建pod,deployments,以及查看他们的信息,深入理解他们的关系。源码:https://github.com/limingios/msA-docker k8s分支和https://github.com/limingios/kubernetes-starter 基础集群的搭建查看32节到34节

kubernetes接触命令

kubectl version
  • >查看版本

  • kubectl get nodes
    >查看nodes

  • kubectl get pods
    >查看pods

  • 拉取官方的镜像
    >内存有点低比较慢

kubectl run kubernetes-bootcamp --image=jocatalin/kubernetes-bootcamp:v1 --port=8080

  • 查看deploy的详细信息

kubectl describe  deploy kubernetes-bootcamp

  • 查看pods的详细信息

kubectl describe  pods kubernetes-bootcamp-6b7849c495-xmmvh

  • 如何访问刚才那个8080端口因为它在103那台机器上,可以通过apiserver的方式
    >启动2个窗口,一个窗口启动代理命令,

kubectl proxy   

然后操作另一个窗口

curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/kubernetes-bootcamp-6b7849c495-xmmvh/

  • 扩缩容
    >k8s会均匀的使用机器,不会存在一台机器用的很多,一台机器用的很少的情况。

#如果需要从2 变成1 直接还用这个命令kubectl scale deploy kubernetes-bootcamp --replicas=2#可以看到在102运行了一个实例,在103在运行了一个实例kubectl get pods -o wide

  • 升级镜像
    >目前状态

kubectl describe deploy kubernetes-bootcamp

升级镜像

#原来是v1升级为v2kubectl  set image deploy kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2kubectl describe deploy kubernetes-bootcamp

deploy的状态

kubectl rollout status deploy kubernetes-bootcamp

回滚镜像

kubectl rollout undo deploy kubernetes-bootcamp#又变回v1kubectl describe deploy kubernetes-bootcamp

删除deploy

kubectl delete deploy kubernetes-bootcamp

配置文件

上边用了比较多的命令了,老铁消化吸收一下,当然一直使用命令管理集群真的很不方便,当拥有大量的应用的时候很难胜任了,k8s也提供了配置文件的方式来管理。跟swarm的有点类似吧。设计和功能上有点区别。

  • yaml文件创建pod

mkdir servicescd servicesvi nginx-pod.yaml

nginx-pod.yaml 文件

apiVersion: v1kind: Podmetadata:  name: nginxspec:  containers:     - name: nginx      image: nginx:1.7.9  ports:         - containerPort: 80

命令生成pod

kubectl create -f nginx-pod.yaml#文件写明的创建pod,就不可能创建deploykubectl get deploykubectl get pods -o wide

启动代理尝试访问nginx
老套路,一个窗口启动,一个窗口curl

#ip101启动代理kubectl proxy#ip101另一个窗口访问curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/nginx/

  • yaml文件创建deployment

vi nginx-Deployment.yaml

nginx-Deployment.yaml 文件

apiVersion: apps/v1beta1kind: Deploymentmetadata:  name: nginx-deploymentspec:  replicas: 2  template:metadata:      labels:app: nginxspec:      containers:      - name: nginximage: nginx:1.7.9ports:          - containerPort: 80

命令生成deployment

kubectl create -f nginx-Deployment.yamlkubectl get deploykubectl get pods -o widekubectl get pods -l app=nginxkubectl get pods -l app=nginx -o wide

PS:常用的命令就说到这里吧,下次继续说说service和dns。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Kubernetes之kubectl常用命令使用指南:3:故障对应
使用YAML创建一个 Kubernetes Depolyment
Kubernetes K8S之Taints污点与Tolerations容忍详解
kubernetes之helm简介、安装、配置、使用指南
Kubernetes Deployment 终极指南
kubernetes入门命令行操作(实例演示)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服