Kubernetes基础之Pod的创建
正如前文基础概念所述,pod是Kubernetes最小的工作单元,其包含了需要共同协作的所有容器的最小单元集合。一个pod一般由一个以上的运行程序的image的容器组合而成,默认image下载路径为docker hub也可以本地进行自我配置。所有在pod中的容器共享pod的ip地址空间,即相同pod内的容器所有的ip地址相同而port不相同。pod的运行由Kubernetes中的master节点来统一调配,默认会分配到空闲的worker节点上,也可以通过label来指定到特定的worker节点上运行。
创建pod可以通过resources比如Deployment, StatefulSet以及DaemonSet来管理或者以单一yml来定义pod内容。
详细pod官方说明具体可查看 https://kubernetes.io/docs/concepts/workloads/pods
- 通过yml来定义pod内容
### kubectl create namespace web apiVersion: v1 kind: Pod metadata: name: nginx-pod namespace: web labels: app: nginx spec: containers: - name: nginx image: nginx command: ["nginx"] args: - -g - daemon off; - -q ports: - containerPort: 80
- 通过deployment来创建pod
使用命令行来创建Deployment
kubectl run nginx-deployment --image=nginx --replicas=2
使用yml来配置Deployment
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment namespace: web labels: deployment: nginx-deployment spec: replicas: 2 selector: matchLabels: deployment: nginx template: metadata: labels: deployment: nginx spec: containers: - name: nginx image: nginx command: ["nginx"] args: ["-g", "daemon off;", "-q"] ports: - containerPort: 80
以上为快速创建pod的方法