k8s docker

作者:原创时间:2022-06-07
文档

k8s docker是什么,让我们一起了解一下?

K8S是一个使用 Docker 容器进行编排的系统,主要围绕 pods 进行工作。 Pods 是 k8s 生态中最小的调度单位,可以包含一个或多个容器。

K8S使用Docker进行编排,也可以使用其他容器管理工具,例如:RunC、Containerted 等。

K8S和Docker的关系是怎样的?

在K8S里,编排调度的最小单位并不是容器,而是Pod。有了Docker容器,为什么还需要一个Pod?我们说Docker容器就好比云计算操作系统中的应用,K8S相当于操作系统,那Pod就是进程组:即Pod是对一组容器(一个或多个)的抽象。之所以做这样一层抽象,是因为在 Borg 项目的开发和实践过程中,Google 公司的工程师们发现,他们部署的应用,往往都存在着类似于“进程和进程组”的关系。在同一个Pod中,可以直接通过localhost通信,并且可以共享网络栈和Volume。

yaml如下:

apiVersion: v1
kind: Pod
metadata:
  name: wordpress
  namespace: blog
spec:
  containers:
    - name: wordpress
      image: wordpress
      ports:
        - containerPort: 80
          name: wdport
        env:
        - name: WORDPRESS_DB_HOST
          value: localhost:3306
        - name: WORDPRESS_DB_USER
          value: root
        - name: WORDPRESS_DB_PASSWORD
          value: root@123
    - name: mysql
      image: mysql:5.7
      imagePullPolicy: IfNotPresent
      args:  # 新版本镜像有更新,需要使用下面的认证插件环境变量配置才会生效
        - --default_authentication_plugin=mysql_native_password
        - --character-set-server=utf8mb4
        - --collation-server=utf8mb4_unicode_ci
      ports:
        - containerPort: 3306
          name: dbport
      env:
        - name: MYSQL_ROOT_PASSWORD
          value: root@123
        - name: MYSQL_DATABASE
          value: wordpress
        - name: MYSQL_USER
          value: wordpress
        - name: MYSQL_PASSWORD
          value: wordpress
      volumeMounts:
        - name: db
          mountPath: /var/lib/mysql
    volumes:
      - name: db
        hostPath:
          path: /var/lib/mysql

当然,K8S也解决了裸跑 Docker 的一些痛点:

1、单机使用,无法有效集群

2、随着容器数量的上升,管理成本攀升

3、没有有效的容灾、自愈机制

4、没有预设编排模板,无法实现快速、大规模容器调度

5、若要启动一些“软件”,只能一个个去启动(docker run ..)

6、没有统一的配置管理中心工具

7、没有容器生命周期的管理工具

8、没有图形化运维管理工具

以上就是小编的分享,希望可以帮助到大家。

显示全文
退出docker 卸载docker 删除docker镜像 docker cpu docker tag docker go docker创建容器 ui设计全称 docker log ui专业是什么专业 docker rm ui和视觉设计的区别 docker elk docker dns docker git docker rpm ui设计包括哪些 ui设计师要懂什么 ui和gui的区别 docker cmd docker hub docker的作用 docker原理 docker工具 网络工程师怎么获得 ui框架排行 ui学什么的 什么叫ui界面设计 ui主要是干什么 网络工程师要考些什么 网络工程师需要考英语吗 网络工程师证书怎么补办 网络工程师要学系统吗 网络工程师怎么算及格 思科网络工程师证书报名条件 程序员跟网络工程师的区别 为什么要成为网络工程师 网络工程师是网管吗 网络工程师基础应该从何学起 思科网络工程师证书有哪些