04.K8S-Namespace、Pod、Deployment的使用

一、名称空间

1.查看名称空间

kubectl get ns


2.创建名称空间

kubectl create ns hello

3.删除名称空间

kubectl delete ns hello

4.配置文件操作


hello.yaml

apiVersion: v1
kind: Namespace
metadata:
  name: hello           

添加,删除

kubectl apply -f hello.yaml
kubectl delete -f hello.yaml 


二、Pod

pod为一组容器,是K8S最小单位


1.创建pod

kubectl run mynginx --image=nginx

2.查看pod

查看所有

kubectl get pod -A

查看defult名称空间的pod

kubectl get pod -n default

3.查看mynginx这个pod的详细信息

kubectl describe pod mynginx


4.删除pod

kubectl delete pod mynginx

5.yaml文件


apiVersion: v1
kind: Pod
metadata:
  labels:
    run: mynginx
  name: mynginx
spec:
  containers:
    - image: nginx
      name: mynginxc

操作方法

kubectl apply -f pod.yaml
kubectl delete -f pod.yaml

6.管理界面操作


7.查看日志

#输出一次
kubectl logs mynginx
#一直输出
kubectl logs -f  mynginx

8.查看IP

pod IP+容器端口=完整访问地址

kubectl get pod  -A -owide
 kubectl get pod -n 命名空间 pod名字  -owide

9.进入pod内部

kubectl exec -it pod名字 -- /bin/bash

10.多容器pod

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: myapp
  name: myapp
  namespace: default
spec:
  containers:
    - image: nginx
      name: mynginx
    - image: tomcat
      name: mytomcat

11.查看标签

sudo kubectl get pod --show-labels -n test


三、Deployment

控制Pod,使Pod拥有多副本,自愈,扩缩容等能力


1.创建一个deployment

kubectl create deploy mytomcat --image=tomcat

2.查看

kubectl get deploy -A

3.删除

#删除默认命名空间的mytomcat
sudo kubectl delete mytomcat
#删除命名空间为test下的mytomcat
sudo kubectl delete deploy my-deploy -n test

4.部署多副本

kubectl create deploy my-deploy --image=tomcat --replicas=3

5.图像界面创建


6.扩缩容

sudo kubectl scale deploy/deploy名字 -n 命名空间 --replicas=5

sudo kubectl scale deploy/my-deploy -n test --replicas=5

修改方式

sudo kubectl edit deploy my-deploy -n test

管理界面


7.yaml方式输出

sudo kubectl get deploy -n test -oyaml

8.滚动更新,启动一个新版本杀死一个旧版本

sudo kubectl set image deploy/deploy名称 哪个镜像=镜像版本 -n 命名空间 --record

sudo kubectl set image deploy/my-deploy nginx=nginx:1.17 -n test --record

9.版本回退

查看所有版本

sudo kubectl rollout history deploy/my-deploy -n test

回退到指定版本

sudo kubectl rollout undo deploy/my-deploy -n test --to-revision=2






(1)