赞
踩
NameSpace 称作名称空间或者命名空间,用于对集群资源进行隔离划分,默认只是隔离资源,不隔离网络。
在 k8s 中,创建资源有两种方式,一种是命令行方式,另外一种是使用 yaml 文件的方式。
(1)查看集群中命名空间列表
kubectl get ns
kubectl get namespace
(2)创建命名空间
kubectl create ns 命名空间名称
(3)删除命名空间
kubectl delete ns 命名空间名称
注意点:如果删除命名空间,会把该命名空间下的所有资源连带删除。
(1)先写一个 yaml 文件,比如 hello-world.yaml
apiVersion: v1
kind: Namespace
metadata:
name: hello-world #这里写命名空间名称,例如这里叫hello-world
(2)使用上面的 yaml 文件,创建命名空间
kubectl apply -f hello-world.yaml
(3)删除命名空间
kubectl delete -f hello-world.yaml
Pod:运行中的一组容器,Pod 是 Kubernetes 中应用的最小单位。
注意点:一个 Pod 代表一组容器,一组之中可以只有一个容器,也可以有多个容器。
上图表示一个 Pod 中只有一个容器,当然也可以把 Redis Container、Java App Container、Vue App Container 三个容器放到同一个 Pod 中,组成一组。
一个 Pod 能正常工作的基础是这个 Pod 中的所有容器都能正常工作,在 k8s 中只谈 Pod,不谈具体的哪个容器,因为 k8s 操作的最小单位只到 Pod 这一层。
(1)查看 Pod
# 查看指定命名空间下的pod
kubectl get pod -n 命名空间名称
# 查看所有命名空间下的所有pod
kubectl get pod -A
(2)创建 Pod
kubectl run Pod的名字 --image=容器镜像名 -n 命名空间名称
#示例,在hello-world命名空间下起一个nginx的Pod
kubectl run my-nginx --image=nginx -n hello-world
(3)描述 Pod 运行详情信息(排错常用)
kubectl describe pod Pod的名字 -n 命名空间名称
#示例,查看hello-world命名空间下的my-nginx的详情
kubectl describe pod my-nginx -n hello-world
(4)删除 Pod
kubectl delete pod Pod的名字 -n 命名空间名称
#示例,删除hello-world下的nginx的Pod
kubectl delete pod my-nginx -n hello-world
(5)查看 Pod 的运行日志
kubectl logs Pod的名字 -n 命名空间名称
(6)查看 Pod 的详细信息,比如 IP
kubectl get pod -owide -n 命名空间名称
(7)使用 Pod 的 IP+Pod里面运行容器的端口来访问 Pod
curl 192.168.169.136:80
(8)使用 k8s 命令进入到容器里面
kubectl exec -it my-nginx -n 命名空间名称 -- /bin/bash
(9)退出容器
exit
在集群环境中,集群中的任意一个机器以及任意的应用都能通过 Pod 分配的 IP 来访问这个 Pod 。
(1)写一个 yaml 文件,比如 nginx-pod.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
run: mynginx
name: my-nginx # Pod的名字
namespace: hello-world # Pod所属命名空间
spec:
containers:
- image: nginx # 容器的镜像名称
name: nginx-v1 # 容器名称
(2)使用 yaml 文件创建 Pod
kubectl apply -f nginx-pod.yaml
(3)删除 Pod
kubectl delete -f nginx-pod.yaml
(1)写一个 yaml 文件,比如 myapp.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
run: myapp
name: myapp
namespace: hello-world
spec:
containers:
- image: nginx
name: nginx
- image: tomcat:8.5.68
name: tomcat
(2)使用 yaml 文件创建 Pod
kubectl apply -f myapp.yaml
(3)集群中访问 nginx
curl 192.168.169.136:80
(4)集群中访问 tomcat
curl 192.168.169.136:8080
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。