前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s基础整理

k8s基础整理

作者头像
dogfei
发布2020-07-31 13:38:17
4530
发布2020-07-31 13:38:17
举报
文章被收录于专栏:devops探索

基本命令

1、创建一个实例

代码语言:javascript
复制
# kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/kubernetes-bootcamp created

这里简单说明:kubernetes-bootcamp为实例名,–image指定docker镜像,–port指定对外提供的端口

2、列出所有的运行pod信息

代码语言:javascript
复制
# kubectl get pods
NAME                                   READY   STATUS    RESTARTS   AGE
busybox                                1/1     Running   2          18h
kubernetes-bootcamp-6c5cfd894b-6bqqr   1/1     Running   0          6m36s

3、列出Pod以及运行Pod节点信息

代码语言:javascript
复制
# kubectl get pods -o wide
NAME                                   READY   STATUS    RESTARTS   AGE     IP           NODE    NOMINATED NODE   READINESS GATES
busybox                                1/1     Running   2          18h     10.244.1.6   node1   <none>           <none>
kubernetes-bootcamp-6c5cfd894b-6bqqr   1/1     Running   0          7m42s   10.244.2.2   node2   <none>           <none>

4、映射端口使其能在外部访问

代码语言:javascript
复制
# kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
service/kubernetes-bootcamp exposed

5、查看应用被映射到节点的端口

代码语言:javascript
复制
# kubectl get services
NAME                  TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
kubernetes-bootcamp   NodePort    10.108.171.2   <none>        8080:32723/TCP   59s

6、查看运行副本数

代码语言:javascript
复制
# kubectl get deployments
NAME                  READY   UP-TO-DATE   AVAILABLE   AGE
kubernetes-bootcamp   1/1     1            1           17m

7、增加运行副本

代码语言:javascript
复制
# kubectl scale deployments/kubernetes-bootcamp --replicas=3
deployment.extensions/kubernetes-bootcamp scaled

再次查看

代码语言:javascript
复制
# kubectl get deployment
NAME                  READY   UP-TO-DATE   AVAILABLE   AGE
kubernetes-bootcamp   3/3     3            3           19m

# kubectl get pods
NAME                                   READY   STATUS    RESTARTS   AGE
busybox                                1/1     Running   2          18h
kubernetes-bootcamp-6c5cfd894b-6bqqr   1/1     Running   0          19m
kubernetes-bootcamp-6c5cfd894b-npk42   1/1     Running   0          61s
kubernetes-bootcamp-6c5cfd894b-vx5c5   1/1     Running   0          61s

再次访问,会轮循到不同的pod中

代码语言:javascript
复制
# curl 192.168.152.143:32723
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-6c5cfd894b-6bqqr | v=1
[root@master ~]# curl 192.168.152.143:32723
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-6c5cfd894b-npk42 | v=1
[root@master ~]# curl 192.168.152.143:32723
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-6c5cfd894b-6bqqr | v=1

8、升级应用

代码语言:javascript
复制
# kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
deployment.extensions/kubernetes-bootcamp image updated

升级过程中之前v1版本的Pod状态变为Terminating,同时创建几个running状态的pod

查看升级后的版本

代码语言:javascript
复制
# curl 192.168.152.143:32723
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-5bf4d5689b-jrv69 | v=2

9、回滚升级后的应用

代码语言:javascript
复制
]# kubectl rollout undo deployments/kubernetes-bootcamp
deployment.extensions/kubernetes-bootcamp rolled back

回滚过程同样是先把状态设定为Terminating,同时启动几个running状态的pod

代码语言:javascript
复制
# kubectl get pods
NAME                                   READY   STATUS        RESTARTS   AGE
busybox                                1/1     Running       2          18h
kubernetes-bootcamp-5bf4d5689b-jrv69   1/1     Terminating   0          2m26s
kubernetes-bootcamp-5bf4d5689b-nmnns   1/1     Terminating   0          2m24s
kubernetes-bootcamp-5bf4d5689b-thzqr   1/1     Terminating   0          2m37s
kubernetes-bootcamp-6c5cfd894b-4mz5z   1/1     Running       0          7s
kubernetes-bootcamp-6c5cfd894b-cl929   1/1     Running       0          5s
kubernetes-bootcamp-6c5cfd894b-q2g66   1/1     Running       0          3s
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本命令
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档