该系列第一篇为:<从0到1使用Kubernetes系列--Kubernetes入门>.本文是Kubernetes系列的第二篇,将介绍使用Kubeadm+Ansible搭建Kubernetes集群所需要的工具及其作用. 主要内容包括: Kubeadm Kubeadm是什么 Kubeadm的目标 Kubeadm的子命令 Kubeadm的安装 CFSSL CFSSL的安装 Ansible Ansible是什么 Ansible的基本架构 Ansible功能特性 Ansible的安装 总结user-go…
本文是从 0 到 1 使用 Kubernetes 系列第八篇,上一篇从0到1使用Kubernetes系列(七):网络介绍了 K8S 网络相关的内容,本文将带你了解 K8S 的安全问题. Kubernetes 的安全是一个相当广泛的主题,涉及很多高度相关的内容.和探讨大部分安全性相关的问题一样,首先需要考虑威胁模型--谁可能攻击你的系统,以及他们如何做到这一点.这可以帮你确定安全工作的优先级.对于大多数 Kubernetes 应用有三类主要的攻击者: 外部攻击者:当你在内部或云上部署应用时,你可能…
本文是从 0 到 1 使用 Kubernetes 系列第六篇,上一篇<从 0 到 1 使用 Kubernetes 系列(五):Kubernetes Scheduling>介绍了 Kubernetes 调度器如何进行资源调度,本文将为大家介绍几种常用储存类型. 默认情况下 Pod 挂载在磁盘上的文件生命周期与 Pod 生命周期是一致的,若 Pod 出现崩溃的情况,kubelet 将会重启它,这将会造成 Pod 中的文件将丢失,因为 Pod 会以镜像最初的状态重新启动.在实际应用当中,开发者有很多…
本文是从 0 到 1 使用 Kubernetes 系列第七篇,上一篇<从 0 到 1 使用 Kubernetes 系列(六):数据持久化实战> 介绍了 Kubernetes 中的几种常用储存类型,本文将介绍 K8S 网络相关的内容. 不同宿主机上运行的容器并不能通过 IP 相互访问,那么 Kubernetes 是如何实现不同节点上 Pod 的互通?Pod 有生命周期,它的 IP 会随着动态的创建和销毁而动态变化,Kubernetes 又是怎样对外提供稳定的服务?今天就为大家一一解答这些疑问.…
本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 介绍 Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具,主要用来管理 Charts.有点类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM.Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件.可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发.对于应用发布者而言,可以通过…
作者: LemonNan 原文地址: https://juejin.im/post/6863704173931593736 Service Kubernetes 的 Service 可以为一组具有相同功能的容器应用(Pod)提供一个统一的入口地址, 然后将请求负载的分发到后端的各个容器组(Pod)上, 本篇将对 Kubernetes 的 Service 的使用做个简单介绍. 操作的基础 最近的文章都是基于 minikube 进行的操作, 所以时不时的需要进入到 minikube 里面进行一些操作…
目录 什么是虚拟机? 什么是容器? Docker Kubernetes 架构 Kubernetes 对象 基础设施抽象 在认识 Kubernetes 之前,我们需了解下容器,在了解容器之前,我们得先知道什么是虚拟机. 什么是虚拟机? 虚拟机(VM, Virtual Machine)是计算机系统的仿真,以便隔离真实计算机硬件,运行多个不同的操作系统.虚拟化技术是硬件隔离的,运行在虚拟机(客体机)中的程序不直接与真实机器(宿主机)交互. 常见的虚拟机软件有: 软件 初次发布时间 早期主导的公司 操作…
环境 三台主机,一台master,两台node 作为master 作为node节点 作为node节点 每台主机Centos版本使用 CentOS Linux release 7.6.1810 (Core) 软件版本信息: docker-ce-selinux-.ce-.el7.noarch docker-ce-.ce-.el7.centos.x86_64 kubelet--.x86_64 kubeadm--.x86_64 kubernetes-cni--.x86_64 kubectl--.x86_…
基本概念 Docker 是什么 Docker 起初是 dotCloud 公司创始人 Solomon Hykes 在法国的时候发起的一项公司内部项目,Docker 是基于 dotCloud 公司多年云服务技术的一次革新,在 2013 年 3 月以 Apache 2.0 授权协议进行开源,其项目主要代码在 GitHub 上进行维护,自从 Docker 开源之后,就一直受到了广泛讨论和关注. Docker 进行开发实现使用的是 Google 公司推出的 Go 语言,对进程进行封装隔离是基于 Linux…
传统Kubernetes应用搭建 创建Namespace 在一个Kubernetes集群中可以创建多个Namespace进行"环境隔离",当项目和人员众多的时候,可以考虑根据项目的实际情况(例如生产.测试.开发)划分不同的Namespace. 创建一个名称为"nginx"的Namespace: [root@localhost~]# kubectl create ns nginx namespace "nginx" created 查看集群中已创建…