kubernetes之初始容器(init container)
系列目录
理解初始容器
一个pod里可以运行多个容器,它也可以运行一个或者多个初始容器,初始容器先于应用容器运行,除了以下两点外,初始容器和普通容器没有什么两样:
它们总是run to completion
一个初始容器必须成功运行另一个才能运行
如果pod中的一个初始容器运行失败,则kubernetes会尝试重启pod直到初始容器成功 ...
kubernetes对象之Ingress
系列目录
概述
向外网暴露集群内服务,以使客户端能够访问,有以下几种方法,本文重点描述Ingress。
LoadBalancer
LoadBalancer一般由云服务供应商提供或者用户自定义,运行在集群之外。在创建service时为其配置LoadBalancer相关参数,当从外网访问集群内servcie时,用户直接连接到LoadBalancer服务器,LoadBalancer服务 ...
kubernetes对象之cronjob
系列目录
类似于Linux的Cron模块,CronJob用来运行定时性任务,或者周期性、重复性任务。注意CronJob启动的是kubernetes中的Job,不是ReplicaSet、DaemonSet等其它控制器类型。
示例:
以下CronJob每分钟运行一次,打印出当前时间与hello消息。
CronJob SPEC:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name ...
kubernetes滚动更新
系列目录
简介
当kubernetes集群中的某个服务需要升级时,传统的做法是,先将要更新的服务下线,业务停止后再更新版本和配置,然后重新启动并提供服务。如果业务集群规模较大时,这个工作就变成了一个挑战,而且先全部了停止,再逐步升级的方式会导致服务较长时间不可用。kubernetes提供了滚动更新(rolling-update)的方式 ...
kubernetes之PDB
系列目录
上一节我们讲到了由于一些人为的或者不可避免的原因,pod可能会中断,而使用Pod Disruption Budget可以最大限度地保证在pod中断发生时集群仍然保持能够接受的状态.
一句话,PDB能够限制同时中断的pod的数量,以保证集群的高可用性.
使用PodDisruptionBudget来保护集群
确定你想要使用PodDisruptionBudget (PDB)来 ...
kubernetes之pod中断
系列目录
目标读者:
想要构建高可用应用的应用所有者,因此需要知道pod会发生哪些类型的中断
想要执行自动化(比如升级和自动扩容)的集群管理员.
自愿和非自愿的中断
pod不会自动消息,除非有人(可能是一个人或者一个控制器)把它销毁了,或者出现无法避免的硬件或者系统软件错误.
我们把这些称作非自愿的不可避免的应用 ...
使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像)
系列目录
kubernetes简介
Kubernetes节点架构图:
kubernetes组件架构图:
准备基础环境
我们将使用kubeadm部署3个节点的 Kubernetes Cluster,整体结构图:
节点详细信息:
无特殊说明以下操作在所有节点执行:
修改主机名:
#master节点:
hostnamectl set-hostname k8s-master
#node1节点:
hostnamectl set- ...
开启和安装Kubernetes 基于Docker For Windows
0、最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上是有Bug的,建议切换到Edge版本,并且采用下文AliyunContainerService来解决中国区网络问题。
Docker Desktop for Windows Edge Release
1、为Docker For Windows配置加速镜像服务。
{
"registry-mirrors": [
"https://registry.docker-cn.com ...
基于jenkins,tekton等工具打造kubernetes devops平台
本贴为目录贴,将不断更新
目录
1.Docker在centos下安装以及常见错误解决
2.使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像)
3.无法访问gcr.io的几种解决办法
4.kubernetes安装过程中遇到问题及解决
5.docker&k8s填坑记
6.Kubernetes对象之Pod
7.kubernetes之pod中断
8.kubernetes之PDB
9.kubernetes对象之 ...
Kubernetes容器集群管理环境 - 完整部署(上篇)
Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统。其设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台。Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群,Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。Kubernetes是一 ...
kubernetes支持local volume
目录
local volume
创建一个storage class
静态创建PV
使用local volume PV
动态创建PV
local volume
kubernetes从1.10版本开始支持local volume(本地卷),workload(不仅是statefulsets类型)可以充分利用本地快速SSD,从而获取比remote volume(如cephfs、RBD)更好的性能。
在local volume出现之前,statefulsets也 ...
基于Kubernetes 构建.NET Core技术中台
今天下午在腾讯云+社区社区分享了《基于Kubernetes 构建.NET Core技术中台》,下面是演讲内容的文字实录。
我们为什么需要中台
我们现在处于企业信息化的新时代。为什么这样说呢?
过去企业信息化的主流重心是企业内部信息化。但现在以及未来的企业信息化的主流重心是企业外部信息化。
中国互联网从1998年算起(新浪搜狐网 ...
kubernetes之kubeadm 安装kubernetes 高可用集群
1. 架构信息
系统版本:CentOS 7.6
内核:3.10.0-957.el7.x86_64
Kubernetes: v1.14.1
Docker-ce: 18.09.5
推荐硬件配置:4核8G
Keepalived保证apiserever服务器的IP高可用
Haproxy实现apiserver的负载均衡
2. 节点信息
目前测试为 6 台虚拟机,etcd采用 rpm 安装、kubernetes 使用二进制安装,使用 systemd ...
Kubernetes(k8s)底层网络原理刨析
目录1 典型的数据传输流程图2 3种ip说明3 Docker0网桥和flannel网络方案4 Service和DNS4.1 service4.2 DNS5 外部访问集群5.1 外部访问service5.2 ingress附 扩展实战附A 用service实现DB的管理附B 用NetworkPolicy实现访问权限隔离附C 用secret对象管理账户密码
1 典型的数据传输流程图
• 一个外部的business-manager请求 ...
kubernetes 集群添加node节点
kubernetes 集群添加node节点
注意,我们并不需要把新增的node ip加入到证书里重新生成!!!
下面我们以添加node03为例
一、添加集群里个节点的hostname并设置好对应主机名
[root@izj6c35dldj2al3fw5p1p5z ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 ...
kubernetes之coredns玩法
一、概述
新版本的kubernetes默认使用了coredns,这里就不赘述了。直达车:https://coredns.io/、https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns
二、coredns配置
在之前的博客里面介绍过使用dnsmasq作为coredns的上游dns的玩法,这里介绍直接修改coredns的配置,coredns的配置是Co ...
使用Kubernetes的java-client实现Deployment的部署及更新操作
1. 背景介绍
需求: 针对多种协议SDK构造探针,测试公司接入机服务状况(每一个探针应对单一接入机,接入机数量可能会动态变化).
难点: 大多数协议SDK均不支持多实例运行,且部分SDK通过生成文件保存内部状态;各协议SDK处于迭代状态,不能对其进行魔改.
分析:
(1) 基于以上原因,无法选择多线程或者多进程,在单一物理机或容器内完 ...
在kubernetes 集群内访问k8s API服务
所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 useraccount(用户账户)。基于角色的访问控制(“RBAC”)使用“rbac.authorization.k8s.io”API 组来实现授权控制,允许管理员通过Kubernetes API动态配置策略。
API Server 内部通过用户认证后,然后进入授权流程。对合法用户进 ...