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)
赏