内容简介:下面我们就来试试看怎么去操作,控制它。我们从最简单的命令开始,尝试一下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 集群/索引备份与恢复实战
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Spring Into HTML and CSS
Molly E. Holzschlag / Addison-Wesley Professional / 2005-5-2 / USD 34.99
The fastest route to true HTML/CSS mastery! Need to build a web site? Or update one? Or just create some effective new web content? Maybe you just need to update your skills, do the job better. Welco......一起来看看 《Spring Into HTML and CSS》 这本书的介绍吧!