k8s集群中是不能直接运行容器的;
k8s集群中最小调度单元是pod;
因此我们要使用Pod来运行应用程序。
(1)Pod介绍
Pod是k8s集群能够调度的最小单元;
Pod是容器的封装。
(2)查看Pod
#kubectl get pod查看default命名空间中的Pod。
#kubectl get pods查看default命名空间中的Pod。
#kubectl get pods --namespace default查看指定命名空间中的Pod。
#kubectl get pod --namespace default查看指定命名空间中的Pod。
#kubectl get pod -n default查看指定命名空间中的Pod。
(3)创建Pod
由于网络原因,建议提前准备好容器镜像。
[root@myuse1 ~]# docker pull nginx
[root@myuse2 ~]# docker pull nginx
只需要在work1和work2中准备镜像。
master默认是不允许把用户使用的Pod调度过来的。
(3-1)编写用于创建Pod资源清单文件
[root@mymaster ~]# vi create-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod1
spec:
containers:
- name: nginx-c
image: nginx:latest
imagePullPolicy: IfNotPresent
ports:
- name: nginxport
containerPort: 80
(3-2)应用资源清单文件
#kubectl apply -f create-pod.yaml 创建。
pod/pod1 created
#kubectl get pod查看
#kubectl get pod --output=wide查看详细信息
#kubectl get pod -o wide查看详细信息
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod1 1/1 Running 0 2m25s 10.244.1.2 myuse1
这个10.244.1.2是PodIP
(4)访问Pod
仅仅是演示,不建议直接访问PodIP
#kubectl get pod -o wide查看详细信息,查看IP
#curl http://10.244.1.2:80
#curl http://10.244.1.2
(5)删除Pod
#kubectl delete pods pod1删除。pod “pod1” deleted
#kubectl delete -f create-pod.yaml 删除。pod “pod1” deleted