kubernetes实战篇之Dashboard的访问权限限制
系列目录
前面我们的示例中,我们创建的ServiceAccount是与cluster-admin 绑定的,这个用户默认有最高的权限,实际生产环境中,往往需要对不同运维人员赋预不同的权限.而根据实际情况也可能会赋予开发人员只读的权限.这一节我们将介绍如何创建不同权限的用户.
在开始之前,我们先了解一些关于kubernetes RABA的一些基本概念.
...
kubernetes实战篇之dashboard搭建
系列目录
kubernetes dashboard是kubernetes官方提供的web管理界面,通过dashboard可以很方便地查看集群的各种资源.以及修改资源编排文件,对集群进行扩容操作,查看日志等.功能非常强大.虽然dashboard是官方提供的web管理界面,但是并没有默认安装,需要额外安装.下面将介绍如何安装kubernetes dashboard以及如何访问.
dashbo ...
kubernetes实战篇之创建密钥自动拉取私服镜像
系列目录
前面我们讲解了如何搭建nexus服务器,以及如何使用nexus搭建docker私有镜像仓库,示例中我们都是手动docker login登陆私服,然后通过命令拉取镜像然后运行容器.然而这种做法在kubernetes集群中是不可行的.第一,项目规模不同,每天产生的镜像数量也不同,如果每天产生大量仓库都要手动执行docker pull来拉取,非常麻烦 ...
二进制文件方式安装kubernetes集群
所有操作全部用root使用者进行,高可用一般建议大于等于3台的奇数,我们使用3台master来做高可用
练习环境说明: 参考GitHub
master: kube-apiserver,kube-controller-manager,kube-scheduler,flanneld
node: kubelet,kube-proxy,flannel
Service_CIDR:10.254.0.0/16 服务网段,部署前路由不可达,部署后集群内部使 ...
十分钟了解Kubernetes
何为Kubernetes?
最简单的一句话来概括Kubernetes。 它就是一套成熟的商用服务编排解决方案。Kubernetes定位在Saas层,重点解决了微服务大规模部署时的服务编排问题。
Kubernetes组件介绍
了解Kubernetes都是从Pod开始的。 Pod是Kubernetes最小的调度单元,所以组件介绍就从Pod开始。Pod是一组容器的集合,这些容器共享IPC ...
基于 Kong 和 Kubernetes 的 WebApi 多版本解决方案
前言
大家好,很久没有写博客了,最近半年也是比较的忙,所以给关注我的粉丝们道个歉。去年和朱永光大哥聊的时候提了一下我们的这个方案,他说让我有空写篇博客讲一下,之前是非常的忙,所以这次趁着有些时间就写一下我们这边关于版本控制的方案吧。
那么今天给大家分享一个我们正在使用的一个基于k8s以及kong网关的WebApi ...
kubernetes高级之pod安全策略
系列目录
什么是pod安全策略
pod安全策略是集群级别的用于控制pod安全相关选项的一种资源.PodSecurityPolicy定义了一系列pod相要进行在系统中必须满足的约束条件,以衣一些默认的约束值.它允许管理员控制以下方面内容
Control Aspect
Field Names
以特权运行容器
privileged
使用宿主名称空间
hostPID, hostIPC
...
kubernetes故障现场一之Orphaned pod
系列目录
问题描述:周五写字楼整体停电,周一再来的时候发现很多pod的状态都是Terminating,经排查是因为测试环境kubernetes集群中的有些节点是PC机,停电后需要手动开机才能起来.起来以后节点恢复正常,但是通过journalctl -fu kubelet查看日志不断有以下错误
[root@k8s-node4 pods]# journalctl -fu kubelet
-- Logs begin ...
Kubernetes之yaml文件详解(汇总-详细)
一、YAML基础
YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便。它实质上是一种通用的数据串行化格式。
YAML语法规则:
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tal键,只允许使用空格
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
”#” 表示注释,从这个字符一直到行尾 ...
Docker+ Kubernetes已成为云计算的主流(二十五)
前言
最近正在抽时间编写k8s的相关教程,很是费时,等相关内容初步完成后,再和大家分享。对于k8s,还是上云更为简单、稳定并且节省成本,因此我们需要对主流云服务的容器服务进行了解,以便更好地应用于生产。
目录
主流云服务容器服务介绍
亚马逊 ...
kubernetes容器探针检测
系列目录
kubernetes提供了livenessProbe(可用性探针)和readinessProbe(就绪性探针)对容器的健康性进行检测,当然这仅仅简单的关于可用性方面的探测,实际上我们不仅仅要对容器进行健康检测,还要对容器内布置的应用进行健康性检测,这不在本篇讨论之列,后面会有专门篇幅来讨论结合APM工具,grafana和prometheus的应用检测预警 ...
kubernetes调度之pod优先级和资源抢占
系列目录
Pod可以拥有优先级.优先意味着相对于其它pod某个pod更为重要.如果重要的pod不能被调度,则kubernetes调度器会优先于(驱离)低优先级的pod来让处于pending状态的高优先级pod被调度.
kubernetes 1.9以后,优先级会影响pod的调度顺序和资源耗尽时pod的驱离顺序
警告:在一个不是所有用户都被信任的集群里,可能有恶意用 ...
kubernetes的Service Account和secret
系列目录
Service Account
Service Account概念的引入是基于这样的使用场景:运行在pod里的进程需要调用Kubernetes API以及非Kubernetes API的其它服务。Service Account它并不是给kubernetes集群的用户使用的,而是给pod里面的进程使用的,它为pod提供必要的身份认证。
kubectl get sa --all-namespaces
NAMESPACE ...
kubernetes之StatefulSet详解
系列目录
概述
RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的,而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。
StatefulSet本质上是Deployment的一种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题 ...
kubernetes调度之污点(taint)和容忍(toleration)
系列目录
节点亲和性(affinity),是节点的一种属性,让符合条件的pod亲附于它(倾向于或者硬性要求).污点是一种相反的行为,它会使pod抗拒此节点(即pod调度的时候不被调度到此节点)
污点和容易结合在一起以确保pod不会被调度到不适合的节点上.当一个或者多个污点添加到某个节点上,则意味着此节点不会接受任何不容忍这些污点的 ...
docker/kubernetes国内源/镜像源解决方式
最近在使用kubeadm时,被各种连接不上搞到崩溃。费了很多力气,基本都解决了。这里统一整理了国内的一些镜像源,apt源,kubeadm源等,以便查阅。
国内镜像源
Azure China提供了目前用过的质量最好的镜像源。无论是速度还是覆盖范围。而且都支持匿名拉取,也就是不需要登录。这点特别友好。
这里,我开发了一个小的脚本azk8s ...
Kubernetes调度之亲和与反亲和
系列目录
部署pod时,大多数情况下kubernetes的调度程序能将pod调度到集群中合适的节点上。但有些情况下用户需要对pod调度到哪个节点上施加更多控制,比如将特定pod部署到拥有SSD存储节点、将同一个服务的多个后端部署在不同的机器上提高安全性、将通信频繁的服务部署在同一个可用区域降低通信链路长度。用户对pod部署的 ...
kubernetes里的各种port解惑
系列目录
在编排kubernetes时,Deployment的Pod项有containerPort,Service文件里的port,targetPort, nodePort,这些pod概念有些时候可能会让人感到非常困惑,这里通过示例来简单介绍各种port的含义
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: tomcat-deployment
spec:
replicas: 3
template:
met ...
Kubernetes基本概念之Label
系列目录
在为对象定义好Label后,其他对象就可以通过Label来对对象进行引用。Label的最常见的用法便是通过spec.selector来引用对象。
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 3
selector:
app: nginx
template:
metadata:
labels:
app: nginx ...
kubernetes之多容器pod以及通信
系列目录
容器经常是为了解决单一的,窄范围的问题,比如说微服务.然而现实中,一些复杂问题的完成往往需要多个容器.这里我们讨论一下如何把多个容器放在同一个pod里以及容器间的通信
什么是pod
pod是kubernetes里的一个基本概念,可能我们从一开始接触kubernetes的时候就开始接触pod,并被灌输pod是kubernetes里最小的不可分 ...