k8s pod资源

创建pod资源
pod是最小资源单位.
任何的一个k8s资源都可以由yaml清单文件来定义
k8s yaml的主要组成

apiVersion: v1  api版本
kind: pod   资源类型
metadata:   属性
spec:       详细

#master节点

mkdir k8s_yaml/pod -p
cd k8s_yaml/pod/
vim k8s_pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: web
spec:
  containers:
    - name: nginx
      image: 10.0.0.11:5000/nginx:1.13
      ports:
        - containerPort: 80

kubectl create -f k8s_pod.yaml
kubectl get pod
#node节点
wget http://192.168.18.251/file/docker_nginx1.13.tar.gz
docker load -i docker_nginx1.13.tar.gz 
docker tag docker.io/nginx:1.13 10.0.0.11:5000/nginx:1.13
docker push 10.0.0.11:5000/nginx:1.13
wget http://192.168.18.251/file/pod-infrastructure-latest.tar.gz
docker load -i pod-infrastructure-latest.tar.gz 
docker tag docker.io/tianyebj/pod-infrastructure 10.0.0.11:5000/pod-infrastructure:latest
docker push 10.0.0.11:5000/pod-infrastructure 
vim /etc/kubernetes/kubelet 
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=10.0.0.11:5000/pod-infrastructure:latest"
systemctl restart kubelet.service 
什么是pod资源
一个pod资源
至少包含两个容器
业务容器和pod基础容器
业务容器和pod基础容器共用IP地址
pod的一组容器
#master节点:
vim k8s_pod2.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: test
  labels:
    app: web
spec:
  containers:
    - name: nginx
      image: 10.0.0.11:5000/nginx:1.13
      ports:
        - containerPort: 80
    - name: alpine
      image: 10.0.0.11:5000/alpine:latest
      command: ["sleep","1000"]

kubectl create -f k8s_pod2.yaml
kubectl get pod
#node节点
wget http://192.168.18.251/file/docker_alpine.tar.gz
docker tag alpine:latest 10.0.0.11:5000/alpine:latest
docker push 10.0.0.11:5000/alpine:latest 
vim /etc/kubernetes/kubelet 
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=10.0.0.11:5000/pod-infrastructure:latest"
wget http://192.168.18.251/file/pod-infrastructure-latest.tar.gz
docker load -i pod-infrastructure-latest.tar.gz
docker tag docker.io/tianyebj/pod-infrastructure:latest 10.0.0.11:5000/pod-infrastructure 
docker push 10.0.0.11:5000/pod-infrastructure 
#pod是k8s最小的资源单位
pod的一组容器
#master节点:
vim k8s_pod2.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: test
  labels:
    app: web
spec:
  containers:
    - name: nginx
      image: 10.0.0.11:5000/nginx:1.13
      ports:
        - containerPort: 80
    - name: alpine
      image: 10.0.0.11:5000/alpine:latest
      command: ["sleep","1000"]

kubectl create -f k8s_pod2.yaml
kubectl get pod
#node节点
wget http://192.168.18.251/file/docker_alpine.tar.gz
docker tag alpine:latest 10.0.0.11:5000/alpine:latest
docker push 10.0.0.11:5000/alpine:latest 
vim /etc/kubernetes/kubelet 
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=10.0.0.11:5000/pod-infrastructure:latest"
wget http://192.168.18.251/file/pod-infrastructure-latest.tar.gz
docker load -i pod-infrastructure-latest.tar.gz
docker tag docker.io/tianyebj/pod-infrastructure:latest 10.0.0.11:5000/pod-infrastructure 
docker push 10.0.0.11:5000/pod-infrastructure 
#pod是k8s最小的资源单位