1:NamesSpace:名称空间用来隔离资源不隔离网络
常用命令:
# 创建名称空间 kubectl create ns hello # 删除名称空间 kubectl delete ns hello # 查看集群命名空间 kubectl get ns #通过配置文件创建: vim hello.yaml 添加如下内容,然后运行 kubectl apply -f hello.yaml apiVersion: v1 kind: Namespace metadata: name: hello # 配置文件删除命名空间: kubectl delete -f hello.yaml
2:Pod: 运行中的一组容器,Pod是kubernetes中应用的最小单位
常用命令:
# 创建一个pod名字为mynginx,名称空间默认为default kubectl run mynginx --image=nginx(镜像名字) # 查看所有Pod kubectl get pod -A # 查看default名称空间的Pod kubectl get pod # 监控default名称空间的Pod kubectl get pod -w # 查看指定名称空间的Pod kubectl get pod -n 名称空间 # 描述 kubectl describe pod 你自己的Pod名字 # 删除 kubectl delete pod Pod名字 -n 名称空间 # 查看Pod的运行日志 kubectl logs Pod名字 # 集群中的任意一个机器以及任意的应用都能通过Pod分配的ip来访问这个Pod # 查看pod更多信息,可以查看pod的ip kubectl get pod -owide # 使用Pod的ip+pod里面运行容器的端口(默认80) curl 192.168.169.136:端口号 # 同一个pod里面不同容器访问(共享网络空间,存储,不同容器) curl 127.0.0.1:容器端口 # 进入pod里面控制台 kubectl exec -it mynginx(容器名) -- /bin/bash
配置文件创建
apiVersion: v1
kind: Pod
metadata:
labels:
run: mynginx
name: mynginx # pod名字
# namespace: default
spec:
containers:
- image: nginx #镜像
name: mynginx #容器名
#一个pod里面多个容器
apiVersion: v1
kind: Pod
metadata:
labels:
run: myapp
name: myapp
spec:
containers:
- image: nginx
name: nginx
- image: tomcat:8.5.68
name: tomcat
运行: kubectl describe pod mynginx 查看名字为mynginx的pod信息
Successfully assigned default/mynginx to k8s-node2 : mynginx位置在k8s-node2
3:Deployment: 控制Pod,使Pod拥有多副本,自愈,扩缩容等能力常用命令
kubectl run mynginx --image=nginx # 该命令创建的pod自愈能力差,pod坏了会停止 kubectl create deployment mytomcat --image=tomcat:8.5.68 # 该命令创建的pod自愈能力强,pod坏了会重启一个新的 # 真正删除,这样才会删除pod kubectl delete deploy mytomcat # 查询 kubectl get deploy # 多副本部署,同时部署多台机器 kubectl create deployment my-dep --image=nginx --replicas=3 # 扩缩容 kubectl scale deployment/my-dep --replicas=5 #修改 replicas kubectl edit deployment my-dep # 更新 kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record kubectl rollout status deployment/my-dep ## 版本回退 #历史记录 kubectl rollout history deployment/my-dep #查看某个历史详情 kubectl rollout history deployment/my-dep --revision=2 #回滚(回到上次) kubectl rollout undo deployment/my-dep #回滚(回到指定版本) kubectl rollout undo deployment/my-dep --to-revision=2
配置文件创建
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: my-dep
name: my-dep
spec:
replicas: 3
selector:
matchLabels:
app: my-dep
template:
metadata:
labels:
app: my-dep
spec:
containers:
- image: nginx
name: nginx
4:更多工作负载资源 | Kubernetes



