k8s之组件关系

2020-03-08  本文已影响0人  bavdu

k8s集群之所以强大,是因为其内部有实现不同功能的组件, 他们之间相互配合完成任务的调度,冗余,容灾等功能;

k8s_arch
k8s中的最小调度单位pod

学习过容器的小伙伴应该知道, 实质上可以把容器比作一个应用, 但是日常工作时,虚拟机上的应用程序并不止一个,那此时就需要让多个容器共同协作才能达到向虚拟机中各个程序间运行的效果;
pod在k8s中 就相当于 虚拟机在实体机中; 在pod中可以运行多个用户容器,这些容器的网络和数据卷都去共享pause跟容器的网络和数据卷; 多个用户容器间通信可直接使用localhost通信,如果需要使用同一份数据可以将数据卷挂载到各个用户容器中即可;
下面是创建pod的一个实例:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-php
spec:
  containers:
  - name: nginx
     image: nginx:stable
     volumeMounts:
     - name: webdir
        mountPath: /usr/share/nginx/html
......此处省略一些内容
  - name: php
     image: php:stable
     volumeMounts:
     - name: webdir
        mountPath: /usr/share/nginx/html
     command: ["/bin/sh"]
     args: ["-c", "mkdir -p /usr/share/nginx/html && echo '<?php phpinfo() ?>' >/usr/share/nginx/html/index.php"]
  volumes:
  - name: webdir
     hostPath:
       path: /nginx-pod/static_code

未完待续...

上一篇 下一篇

猜你喜欢

热点阅读