5分钟快速使用k8s
了解k8s:服务分为pod容器和service两部分
空间:创建属于自己的空间namespace
存储:分为:pv 和 pvc
pod就是一个容器,一个pod里面可以启动多个服务。
一个pod对应一个service,如果说pod是容器大门,那么service就是让容器在浏览器展示出来的钥匙。
pv和pvc就相当于存储在哪里。比如是哪个路径或者哪个服务器的路径。
空间就相当于在一个房子里面创建属于自己的文件或者服务。
一、空间名称
1.1、 查询k8s名称有哪些
格式: (e.g. 'my-name', or '123-abc', regex used for validation is 'a-z0-9?') 从上面可以看出:只支持小写[a-z] 数字[0-9]
- kubectl 命令
- delete 删除命名空间
- get 获取
- create 创建命名空间
- ns 命名空间 相当于 namespace
- A 所有的namespace
[root@k8s-master-01 ~]# kubectl get namespace
NAME STATUS AGE
default Active 7d22h
kube-node-lease Active 7d22h
kube-public Active 7d22h
kube-system Active 7d22h
[root@k8s-master-01 ~]#
[root@k8s-master-01 ~]# kubectl get ns
NAME STATUS AGE
default Active 7d22h
kube-node-lease Active 7d22h
kube-public Active 7d22h
kube-system Active 7d22h
[root@k8s-master-01 ~]# kubectl get ns -A
NAME STATUS AGE
default Active 7d22h
kube-node-lease Active 7d22h
kube-public Active 7d22h
kube-system Active 7d22h
1.2、 创建自己的命名空间
如果空间命名多,创建自己的命名空间防止服务串用
[root@k8s-master-01 ~]# kubectl create ns ai-platform
namespace/ai-platform created
[root@k8s-master-01 ~]#
[root@k8s-master-01 ~]# kubectl get ns
NAME STATUS AGE
ai-platform Active 4s
default Active 7d22h
kube-node-lease Active 7d22h
kube-public Active 7d22h
kube-system Active 7d22h
1.2.1、命名空间已存在
如果命名空间存在查询里面的服务,下面会有介绍
[root@k8s-master-01 ~]# kubectl create ns ai-platform Error from server (AlreadyExists): namespaces "ai-platform" already exists
1.3、 删除自己命名空间
删除命名空间切记:一定要确认是不在使用在删除,删除namespace相当于把整个房子里面的东西全部销毁。
[root@k8s-master-01 ~]# kubectl delete ns ai-platform
namespace "ai-platform" deleted
[root@k8s-master-01 ~]#
[root@k8s-master-01 ~]# kubectl get ns
NAME STATUS AGE
default Active 7d22h
kube-node-lease Active 7d22h
kube-public Active 7d22h
kube-system Active 7d22h
二、创建自己的POD容器服务
格式:
- kubectl 命令
- delete 删除pod
- get 获取
- pod 容器<后面跟自己pod名称>
- A 所有的pod服务
2.1 查询pod服务
查询服务后面跟自己的命名空间或者-A查询所有服务
kubectl get pod
No resources found in default namespace.
2.2、创建自己命名空间 jsionchao
[root@k8s-master-01 ~]# kubectl create ns jsionchao
namespace/jsionchao created
[root@k8s-master-01 ~]#
[root@k8s-master-01 ~]# kubectl get ns jsionchao
NAME STATUS AGE
jsionchao Active 11s
2.3、创建自己的pod服务
kubectl apply -f nginx.yaml
replicationcontroller/jsionchao-nginx created
[root@k8s-master-01 jsionchao]# cat nginx.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: jsionchao-nginx
namespace: jsionchao
spec:
replicas: 1
selector:
name: jsionchao-nginx
template:
metadata:
labels:
name: jsionchao-nginx
spec:
containers:
- name: jsionchao-nginx
image: nginx:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
2.4、查询自己pod服务
kubectl get pod -n jsionchao
NAME READY STATUS RESTARTS AGE
jsionchao-nginx-lm2vr 1/1 Running 0 7s
这里有个疑问,自己创建的服务如何在页面访问出来呢?
2.5、创建server
vi nginx-server.yaml
kubectl apply -f nginx-server.yaml
apiVersion: v1
kind: Service
metadata:
name: jsionchao-nginx
labels:
app: jsionchao-nginx
namespace: jsionchao
spec:
type: NodePort
selector:
app: jsionchao-nginx
ports:
- port: 80
targetPort: 80
nodePort: 30050