内容简介:下面我们就来试试看怎么去操作,控制它。我们从最简单的命令开始,尝试一下kubernetes官方的入门教学:playground的内容。了解如何创建pod,deployments,以及查看他们的信息,深入理解他们的关系。源码:https://github.com/limingios/msA-docker k8s分支和https://github.com/limingios/kubernetes-starter 基础集群的搭建查看32节到34节
下面我们就来试试看怎么去操作,控制它。我们从最简单的命令开始,尝试一下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升级为v2 kubectl set image deploy kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2 kubectl describe deploy kubernetes-bootcamp
deploy的状态
kubectl rollout status deploy kubernetes-bootcamp
回滚镜像
kubectl rollout undo deploy kubernetes-bootcamp #又变回v1了 kubectl describe deploy kubernetes-bootcamp
删除deploy
kubectl delete deploy kubernetes-bootcamp
配置文件
上边用了比较多的命令了,老铁消化吸收一下,当然一直使用命令管理集群真的很不方便,当拥有大量的应用的时候很难胜任了,k8s也提供了配置文件的方式来管理。跟swarm的有点类似吧。设计和功能上有点区别。
- yaml文件创建pod
mkdir services cd services vi nginx-pod.yaml
nginx-pod.yaml 文件
apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
命令生成pod
kubectl create -f nginx-pod.yaml #文件写明的创建pod,就不可能创建deploy kubectl get deploy kubectl 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/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
命令生成deployment
kubectl create -f nginx-Deployment.yaml kubectl get deploy kubectl get pods -o wide kubectl get pods -l app=nginx kubectl get pods -l app=nginx -o wide
PS:常用的命令就说到这里吧,下次继续说说service和dns。
>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>>原文链接地址:上一篇:已是最新文章
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- MongoDB 分片集群实战
- Docker实战之Consul集群
- Hadoop集群部署实战(cdh发行版)
- Hadoop集群部署实战(cdh发行版)
- 进阶的Redis之哈希分片原理与集群实战
- Elasitcsearch 7.X 集群/索引备份与恢复实战
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。