Kubernetes
逍遥俊子
低调的码农
展开
-
01-Kubernetes简介
1. ubuntu系统安装docker//更新包索引root@K8S-Master:~# apt-get update//下载官方源公钥root@K8S-Master:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -//添加官方源仓库root@K8S-Master:~# ...原创 2019-01-24 14:50:14 · 598 阅读 · 0 评论 -
02-高可用Kubernetes集群(测试环境)-搭建步骤
搭建步骤1. 自签SSL证书2. 部署Etcd集群3. Node节点安装docker CE4. Flannel容器集群网络部署5. 部署master组件6.部署node组件7.部署一个测试示例8.部署Web UI(Dashboard)9.多master集群-部署master02组件10.多master集-Nginx+keepalived(LB)1. 自签SSL证书2. 部署Etcd集群3. ...原创 2020-12-25 08:54:04 · 144 阅读 · 0 评论 -
03-高可用Kubernetes集群(测试环境)-自签SSL证书
自签SSL证书1. 证书需求2. 生成自签证书2.1 安装cfssl工具2.2 生成etcd证书1. 证书需求组件证书etcdca.pem, server.pem, server-key.pemflannelca.pem, server.pem, server-key.pemkube-apiserverca.pem, server.pem, server-...原创 2020-12-25 08:55:44 · 87 阅读 · 0 评论 -
04-高可用Kubernetes集群(测试环境)-部署Etcd集群
部署Etcd集群1. 安装前准备2. 下载etcd3. 安装etcd4. 检查集群1. 安装前准备关闭各节点的selinux,设置SELINUX=disabled,重启节点。各节点关闭并禁止开机启动防火墙.# 关闭SELINUXvi /etc/selinux/config rebootsetenforce 0# 关闭防火墙并禁止开机启动systemctl stop firewa...原创 2020-12-25 08:53:21 · 118 阅读 · 0 评论 -
05-高可用Kubernetes集群(测试环境)-Node节点安装docker CE
Node节点安装docker CE1. 卸载旧版本2. 安装所需的Repository3. 安装Docker CE4. 启动Docker CE5. 验证Docker环境以在node01节点安装为例,node02节点也按照此步骤安装docker。1. 卸载旧版本yum remove docker \ docker-client \ ...原创 2020-12-25 08:55:19 · 99 阅读 · 0 评论 -
06-高可用Kubernetes集群(测试环境)-Flannel容器集群网络部署
Flannel容器集群网络部署1. etcd存储子网信息2. 安装Flannel2.1 下载Flannel2.2 node01安装Flannel2.3 node02安装Flannel2.4 验证Flannel1. etcd存储子网信息Falnnel要用etcd存储自身一个子网信息,所以要保证能成功连接etcd,写入预定义子网段,在master01上操作:cd /opt/etcd/ssl#...原创 2020-12-25 08:55:09 · 103 阅读 · 0 评论 -
07-高可用Kubernetes集群(测试环境)- 部署master组件
部署master组件1. 准备kubernetes-server二进制安装包2. 生成k8s证书4. controller-manager5. scheduler6. 检查1. 准备kubernetes-server二进制安装包下载地址:https://dl.k8s.io/v1.14.1/kubernetes-server-linux-amd64.tar.gz (需要翻墙)。#创建目录mk...原创 2020-12-25 08:52:48 · 88 阅读 · 0 评论 -
08-高可用Kubernetes集群(测试环境)-部署node组件
部署node组件1. 将kubelet-bootstrap用户绑定到系统集群角色2. 创建kubeconfig文件3. 部署kubelet组件4. 部署kube-proxy组件1. 将kubelet-bootstrap用户绑定到系统集群角色kubectl create clusterrolebinding kubelet-bootstrap \--clusterrole=system:nod...原创 2020-12-25 08:54:57 · 88 阅读 · 0 评论 -
09-高可用Kubernetes集群(测试环境)-部署一个测试示例
部署一个测试示例kubectl run nginx --image=nginx --replicas=2kubectl expose deployment nginx --port=80 --target-port=80 --type=NodePortkubectl get pod,svc查看日志无权限, 修改两个node节点的kubelet.configvi /opt/kubern...原创 2020-12-25 08:54:36 · 105 阅读 · 0 评论 -
10-高可用Kubernetes集群(测试环境)-部署Web UI(Dashboard)
部署Web UI1. 获取安装文件2. 开始安装3. 登录1. 获取安装文件在之前下载的kubernetes源码包中有一个 kubernetes-src.tar.gzcd ~/soft/kubernetestar zxf kubernetes-src.tar.gzcd cluster/addons/dashboard修改dashboard-controller.yaml文件中的镜像,...原创 2020-12-25 08:54:27 · 111 阅读 · 0 评论 -
11-高可用Kubernetes集群(测试环境)-多master集群-部署master02组件
多master集群-部署master02组件1. 复制master01节点内容2. 修改kubernetes配置文件3. 启动组件1. 复制master01节点内容 scp -r /opt/kubernetes/ root@192.168.1.98:/opt/ scp /usr/lib/systemd/system/{kube-apiserver,kube-scheduler,kube-c...原创 2020-12-25 08:54:15 · 70 阅读 · 0 评论 -
12-高可用Kubernetes集群(测试环境)-多master集群-Nginx+keepalived(LB)
多master集群-Nginx+keepalived1. 安装nginx1.1 安装先决条件1.2 设置yum存储库1.3 安装nginx1.4 nginx.conf2. 安装keepalived3. 遇到的坑1. 安装nginx参照网址https://nginx.org/en/linux_packages.html1.1 安装先决条件sudo yum install yum-utils...原创 2020-12-25 08:53:55 · 111 阅读 · 0 评论 -
01-高可用Kubernetes集群(测试环境)-集群架构及规划
集群架构及规划1. 集群架构图2. Kubernetes集群规划2.1 软件版本2.2 集群节点1. 集群架构图2. Kubernetes集群规划2.1 软件版本软件版本Linux操作系统centos 7Kubernetes1.14Docker18.xx-ceEtcd3.xFlannel0.102.2 集群节点...原创 2020-12-25 08:55:36 · 105 阅读 · 0 评论 -
K8s集群部署Prometheus
K8s集群部署Prometheus1. 部署NGINX Ingress Controller1.1 下载文件:1.2 部署2. 部署node exporter3. 部署kube-state-metrics4. 部署磁盘监控4. 安装Prometheus1. 部署NGINX Ingress Controller1.1 下载文件:https://github.com/kubernetes/ing...原创 2020-12-25 08:52:06 · 253 阅读 · 0 评论 -
02-安装容器引擎
安装容器引擎1. 搭建环境简介2. 添加docker源公钥3. 添加docker源的仓库4. 安装docker5. 验证1. 搭建环境简介ubuntu18.06docker 18.09.1此次安装是在root用户下进行,因此,命令不需要sudo2. 添加docker源公钥# 更新下包apt-get update# 添加docker源公钥curl -fsSL https://...原创 2019-01-24 15:07:06 · 334 阅读 · 0 评论 -
11-Kubernetes集群常见运维操作
Kubernetes集群常见运维操作1. Kubernetes对象管理操作1. 1 Node管理1.1.1 Node查看1.1.2 Node扩容与缩容1.1.3 Node的临时隔离与恢复1.2 Label管理1.2.1 对象Label的查看1.2.2 对象Label的添加和删除1.2.3 对象Label的更新1.3 Namespace管理1.3.1 增删Namespace1.3.2 通过cont...原创 2019-01-31 16:32:30 · 8213 阅读 · 0 评论 -
99-Harbor搭建高可用私有镜像仓库
Harbor搭建高可用私有镜像仓库1. 基于共享对象存储的Harbor高可用仓库方案1.1 高可用Harbor架构1.2 高可用Harbor实现1.3 高可用方案模拟环境2. 搭建高可用私有镜像仓库2.1 搭建步骤2.2 安装外部环境2.2.1 部署minio集群1. 基于共享对象存储的Harbor高可用仓库方案1.1 高可用Harbor架构1.2 高可用Harbor实现1.3 高可用...原创 2020-12-25 08:55:55 · 330 阅读 · 0 评论 -
03-使用Kubeadm搭建Kubernetes集群
1. 环境说明OS: Ubuntu 18.04Kubernetes: 1.13.2节点信息HostnameIP备注K8S-Master172.28.65.239Master节点K8S-Node1172.28.65.242Node节点1K8S-Node2172.28.65.244Node节点2开始之前,请确保可以科学上网,推荐使用 s...原创 2019-01-28 14:01:53 · 820 阅读 · 2 评论 -
04- kubeadm init流程
kubeadm init流程1. kubeadm init流程概览2. 引导前检查3. 生成私钥以及数字证书3.1 查看公钥证书:自建CA,生成ca.key与ca.crt3.2 apiserver的私钥与公钥证书3.3 apiserver访问kubelet使用的客户端私钥与证书3.4 services account需要的sa.key与sa.pub3.5 Etcd相关的私钥与数字证书4. 生成控制...原创 2019-01-29 11:25:56 · 2923 阅读 · 1 评论 -
05-kubeadm join原理
kubeadm join原理1. master节点IP+端口2. token:用于Master验证Node身份3. discovery-token-ca-cert-hash : 用于Node验证Master身份join:将node加入集群kubeadm join 172.28.65.239:6443 --token 40dup1.urffu06eu0u1hzy3 --discovery-to...原创 2019-01-29 15:33:42 · 3008 阅读 · 0 评论 -
06-kubernetes核心组件详解
kubernetes核心组件详解1. 节点Pod管家:kubelet2. 集群管理入口:kube-apiserver3. 配置中心:etcd4. 管理控制中心:kube-controller-manager5. 调度器:kube-scheduler6. 服务抽象实现:kube-proxy1. 节点Pod管家:kubeletkubelet运行在集群的所有节点上每个节点上的kubelet由操作...原创 2019-01-29 16:45:00 · 463 阅读 · 0 评论 -
07-kubernetes集群网络
kubernetes集群网络1. kubernetes集群的“三个网络”2. kubernetes网络设计面对的问题3. kubernetes网络设计基本要求3. kubernetes网络实现4. Pod网络实现原理4.1 二层(交换)方案4.2 三层(路由)方案4.3 Overlay网络方案4.3 方案对比5. Service网络5.1 Service的特性5.2 Service网络是什么5...原创 2019-01-30 15:13:14 · 493 阅读 · 0 评论 -
08-kubernetes集群安全
kubernetes集群安全1. APIServer安全模型2. APIServer安全验证步骤2.1 身份验证(Authentication)2.2 授权(Authorization)2.3 准入控制(Admission Control)1. APIServer安全模型APIServer的安全验证环节0:传输安全(Transport Sercurity)1:身份验证(Authenti...原创 2019-01-30 16:16:30 · 296 阅读 · 0 评论 -
09-kubernetes集群存储
kubernetes集群存储1. Kubernetes Volume2. PersistentVolume(PV)3. PersistentVolumeClaim(PVC)4. StorageCIass5. 基于StorageCIass的动态PV供给6. PV状态与回收策略7. Kubernetes存储模型1. Kubernetes VolumeVolume:生命周期与其所附着的Pod相同...原创 2019-01-30 16:47:38 · 946 阅读 · 0 评论 -
10-高可用Kubernetes集群搭建方案
高可用Kubernetes集群搭建方案1. Kubernetes集群控制平面的高可用考量2. Kubernetes集群控制平面高可用方案前提3. Kubernetes集群控制平面高可用方案步骤3.1 搭建高可用etcd集群3.2 搭建load balancer3.3 创建etcd集群的client相关证书3.4 安装master0节点上的控制平面3.5 安装master1和master2上的控制平...原创 2019-01-31 11:03:21 · 731 阅读 · 0 评论 -
13-高可用Kubernetes集群(测试环境)-CoreDNS部署
CoreDNS部署部署CoreDNS的yaml文件如下:# Warning: This is a file generated from the base underscore template file: coredns.yaml.baseapiVersion: v1kind: ServiceAccountmetadata: name: coredns namespace: ...原创 2020-12-25 08:53:39 · 184 阅读 · 0 评论