• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

K8s实战一:基本概念与命令

互联网 diligentman 4小时前 2次浏览

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信息

 K8s实战一:基本概念与命令

  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


程序员灯塔
转载请注明原文链接:K8s实战一:基本概念与命令
喜欢 (0)