k8s基础整理
时间:2022-07-22
本文章向大家介绍k8s基础整理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
基本命令
1、创建一个实例
# 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信息
# 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节点信息
# 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、映射端口使其能在外部访问
# kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
service/kubernetes-bootcamp exposed
5、查看应用被映射到节点的端口
# 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、查看运行副本数
# kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
kubernetes-bootcamp 1/1 1 1 17m
7、增加运行副本
# kubectl scale deployments/kubernetes-bootcamp --replicas=3
deployment.extensions/kubernetes-bootcamp scaled
再次查看
# 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中
# 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、升级应用
# kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
deployment.extensions/kubernetes-bootcamp image updated
升级过程中之前v1版本的Pod状态变为Terminating,同时创建几个running状态的pod
查看升级后的版本
# curl 192.168.152.143:32723
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-5bf4d5689b-jrv69 | v=2
9、回滚升级后的应用
]# kubectl rollout undo deployments/kubernetes-bootcamp
deployment.extensions/kubernetes-bootcamp rolled back
回滚过程同样是先把状态设定为Terminating,同时启动几个running状态的pod
# 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
- python爬虫beautifulsoup4系列2
- python爬虫beautifulsoup4系列3
- 多元回归模型
- C++ STL之min_element()与max_element()(取容器中的最大最小值)
- RESTful API 设计最佳实践
- python爬虫beautifulsoup4系列4-子节点
- 元胞自动机实现多数分类算法
- 51Nod 1289 大鱼吃小鱼(模拟,经典好题)
- 用Metaclass实现一个精简的ORM框架
- HDU 2504 又见GCD(最大公约数与最小公倍数变形题)
- Selenium2+python自动化63-二次封装(click/send_kesy)
- Selenium2+python自动化65-js定位几种方法总结
- HDU 2502 月之数(二进制,规律)
- Tensorflow实战系列:手把手教你使用CNN进行图像分类(附完整代码)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法