该系列第一篇为:<从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 应用有三类主要的攻击者: 外部攻击者:当你在内部或云上部署应用时,你可能…
作者: LemonNan 原文地址: https://juejin.im/post/6870071267438329869 Kubernetes系列(四) StatefulSet Kubernetes系列(一) Pod Kubernetes系列(二) Service Kubernetes系列(三) Deployment StatefulSet 前言 前几篇讲解的都是关于无状态的应用, 今天这篇介绍 Kubernetes 中的另一种应用, 有状态应用, 而 有状态的应用是由 StatefulSet…
本文是从 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 又是怎样对外提供稳定的服务?今天就为大家一一解答这些疑问.…
前两期的文章介绍了Kubernetes基本概念和架构,用Kubeadm+Ansible搭建Kubernetes集群所需要的工具及其作用.本篇介绍怎么使用Ansible安装Kubernetes集群. 启动虚拟机 首先,通过下面命令克隆并进入项目: git clone https://github.com/choerodon/kubeadm-ansible.git && cd kubeadm-ansible 通过 Virtualbox + Vagrant启动三台CentOS系统虚拟机,在项目根…
传统Kubernetes应用搭建 创建Namespace 在一个Kubernetes集群中可以创建多个Namespace进行"环境隔离",当项目和人员众多的时候,可以考虑根据项目的实际情况(例如生产.测试.开发)划分不同的Namespace. 创建一个名称为"nginx"的Namespace: [root@localhost~]# kubectl create ns nginx namespace "nginx" created 查看集群中已创建…
目录 1. 创建集群 1.1. 安装 kubectl 1.1.1. 安装 kubectl 到 Linux 1.1.2. 安装 kubectl 到 macOS 1.1.3. 安装 kubectl 到 Windows 1.1.4. 添加命令自动补全支持 1.2. 安装 Minikube 1.2.1. 确保系统支持虚拟化技术 1.2.2. 安装 Hypervisor 1.2.3. 安装 Minikube 2. 启动集群 3. 启动 Dashboard 4. 部署一个应用 4.1. 查看所有节点及其状态…
基本概念 Docker 是什么 Docker 起初是 dotCloud 公司创始人 Solomon Hykes 在法国的时候发起的一项公司内部项目,Docker 是基于 dotCloud 公司多年云服务技术的一次革新,在 2013 年 3 月以 Apache 2.0 授权协议进行开源,其项目主要代码在 GitHub 上进行维护,自从 Docker 开源之后,就一直受到了广泛讨论和关注. Docker 进行开发实现使用的是 Google 公司推出的 Go 语言,对进程进行封装隔离是基于 Linux…
前述文章介绍了Kubernetes基本介绍,搭建Kubernetes集群所需要的工具,如何安装,如何搭建应用.本篇介绍怎么使用Kubernetes进行资源调度. Kubernetes作为一个容器编排调度引擎,资源调度是它的最基本也是最重要的功能.当开发者部署一个应用时它运行在哪个节点?这个节点满不满足开发的运行要求?Kubernetes又是如何进行资源调度的呢? ▌通过本文可了解到以下信息: 资源请求及限制对pod调度的影响 查看调度事件events 了解label选择器对pod调度的影响 了解…