Kube

开启和安装Kubernetes 基于Docker For Windows

浪尽此生 提交于 2020-10-23 11:02:58
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" ], "insecure-registries": [], "debug": true, "experimental": false } 2、为了更快的完成一些安装,我们先通过一个阿里云的批处理,提前把Kubernetes需要的Images拉取下来。 git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git cd k8s-for-docker-desktop .\load_images.ps1 docker images 3、如果你已经安装好Docker For Windows,切换Settings到Kubernetes,勾选开启项进行安装。 4、关键概念 Pod Kubernetes 中的最小单元,一个

【k8s学习笔记】使用 kubeadm 部署 v1.18.5 版本 Kubernetes集群

这一生的挚爱 提交于 2020-10-17 06:29:19
说明 本文系搭建kubernetes v1.18.5 集群笔记,使用三台虚拟机作为 CentOS 测试机,安装kubeadm、kubelet、kubectl均使用yum安装,网络组件选用的是 flannel 行文中难免出现错误,如果读者有高见,请评论与我交流 如需转载请注明原始出处 https://www.cnblogs.com/hellxz/p/use-kubeadm-init-kubernetes-cluster.html 环境准备 部署集群没有特殊说明均使用root用户执行命令 硬件信息 ip hostname mem disk explain 192.168.87.145 kube-master 4 GB 20GB k8s 控制平台节点 192.168.87.146 kube-node1 4 GB 20GB k8s 执行节点1 192.168.87.147 kube-node2 4 GB 20GB k8s 执行节点2 软件信息 software version CentOS CentOS Linux release 7.7.1908 (Core) Kubernetes v1.18.5 Docker 19.03.12 保证环境正确性 purpose commands 保证集群各节点互通 ping -c 3 <ip> 保证MAC地址唯一 ip link 或 ifconfig

001_kubernetes版本知识

前提是你 提交于 2020-10-14 20:18:18
一、版本格式 Kubernetes 版本号格式为 x.y.z ,其中 x 为大版本号, y 为小版本号, z 为补丁版本号。 Kubernetes 项目会维护最近的三个小版本分支。(小版本大约每3个月发布一个,所以每个小版本分支会维护9个月) 二、版本倾斜包容程度 kube-apiserver 高可用(HA)集群中,多个 kube-apiserver 实例小版本号最多差1。 kubelet kubelet 版本号不能高于 kube-apiserver ,最多可以比 kube-apiserver 低两个小版本。 注意 : 如果 HA集群中多个 kube-apiserver 实例版本号不一致,相应的 kubelet 版本号可选范围也要减小。 kube-controller-manager、kube-scheduler 和 cloud-controller-manager 均不能高于 kube-apiserver 版本号。 最好它们的版本号与 kube-apiserver 保持一致,但允许比 kube-apiserver 低一个小版本。 kubectl kubectl 可以比 kube-apiserver 高一个小版本,也可以低一个小版本。 三、组件升级次序 kube-apiserver > kube-controller-manager、kube-scheduler 和 cloud

Kubernetes v1.19 编译 kubeadmin 修改证书有效期到 100年 提供下载

一笑奈何 提交于 2020-10-14 05:57:12
作者:gc(at)sysin.org,主页: www.sysin.org Kubernetes 1.19 , August 26, 2020 原有方法继续有效! kubeadm 默认证书为一年,一年过期后,会导致 api service 不可用,使用过程中会出现:x509: certificate has expired or is not yet valid. Google 建议通过不停更新版本来自动更新证书,太坑^_^ 可以在初始化群集之前重新编译 kubeadm,证书有效期自动为 100年 已经修改好的 kubeadm 下载(1.17.0、1.18.0、1.19.0): 链接: https://pan.baidu.com/s/1EabyIm2fO4Rj5HOP_f5e9g 密码: klom 1. 获取源码 访问: https://github.com/kubernetes/kubernetes/releases ,下载特定版本源码 wget https://github.com/kubernetes/kubernetes/archive/v1.19.0.tar.gz tar -zxvf v1.19.0.tar.gz mv kubernetes-1.19.0 kubernetes cd kubernetes 2. 修改证书有效期 查看网上的资料主要有两个地方需要修改 修改 CA

【k8s部署】2. 创建CA根证书和秘钥

寵の児 提交于 2020-10-13 08:12:32
如果没有特殊指明,所有操作均在 zhaoyixin-k8s-01 节点上执行。 为确保安全, kubernetes 系统的各组件需要使用 x509 证书对通信进行加密和认证。 CA (Certificate Authority) 是自签名的根证书,用来签名后续创建的其它证书。 CA 证书是集群所有节点共享的,只需要 创建一次 ,后续用它签名其它所有证书。 安装 cfssl 工具集 使用 CloudFlare 的 PKI 工具集 cfssl 创建所有证书。 sudo mkdir -p /opt/k8s/cert && cd /opt/k8s/work wget https://github.com/cloudflare/cfssl/releases/download/v1.4.1/cfssl_1.4.1_linux_amd64 mv cfssl_1.4.1_linux_amd64 /opt/k8s/bin/cfssl wget https://github.com/cloudflare/cfssl/releases/download/v1.4.1/cfssljson_1.4.1_linux_amd64 mv cfssljson_1.4.1_linux_amd64 /opt/k8s/bin/cfssljson wget https://github.com/cloudflare

【k8s部署】3. 安装和配置 kubectl

六月ゝ 毕业季﹏ 提交于 2020-10-12 11:31:29
如果没有特殊指明,所有操作均在 zhaoyixin-k8s-01 节点上执行。 本节操作只需要部署一次,生成的 kubeconfig 文件是通用的,可以拷贝到需要执行 kubectl 命令的机器的 ~/.kube/config 位置。 下载 kubectl 二进制文件 cd /opt/k8s/work wget https://dl.k8s.io/v1.16.6/kubernetes-client-linux-amd64.tar.gz tar -xzvf kubernetes-client-linux-amd64.tar.gz 分发到所有使用 kubectl 工具的节点: cd /opt/k8s/work source /opt/k8s/bin/environment.sh for node_ip in ${NODE_IPS[@]} do echo ">>> ${node_ip}" scp kubernetes/client/bin/kubectl root@${node_ip}:/opt/k8s/bin/ ssh root@${node_ip} "chmod +x /opt/k8s/bin/*" done 创建 admin 证书和私钥 kubectl 使用 https 协议与 kube-apiserver 进行安全通信,kube-apiserver 对 kubectl

Kubernetes 集群升级指南:从理论到实践

不羁的心 提交于 2020-10-11 15:33:41
作者 | 高相林(禅鸣) 导读: 集群升级是 Kubernetes 集群生命周期中最为重要的一环,也是众多使用者最为谨慎对待的操作之一。为了更好地理解集群升级这件事情的内涵外延,我们首先会对集群升级的必要性和难点进行阐述;随后会对集群升级前必须要做的前置检查进行逐一讲解;接下来会对两种常见的升级方式进行展开介绍;最后对集群升级的三个步骤进行讲解,帮助读者从理论走入实践。 升级的必要性&难点 在 Kubernetes 领域,得益于活跃的开源社区,Kubernetes 的迭代速度较快,目前保持在每个季度发行一个新版本的节奏。新版本的 Kubernetes 有着更为先进的新特性、更加全面的安全加固和漏洞修复。前一段时间社区刚刚完成了 1.19 版本的正式发布。 对于发展如此快速的开源项目,跟上社区的步伐就显得更为重要,而集群升级能力就是帮助我们跟上社区步伐的不二选择。我们可以从以下两个方面对集群升级的必要性进行说明: 对于 Kubernetes 集群的使用者 :更新的 Kubernetes 版本意味着更新的 feature,更加全面的安全补丁,和诸多的 bugfix。我们可以通过集群升级功能充分享受活跃的 Kubernetes 开源社区带来的发展红利; 对于 Kubernetes 集群的运维者 :通过集群升级功能可以拉齐所管理的集群版本,减少集群版本的碎片化,从而减少

Kubernetes学习笔记(二):部署托管的Pod -- 存活探针、ReplicationController、ReplicaSet、DaemonSet、Job、CronJob

落花浮王杯 提交于 2020-10-10 08:08:15
存活探针 Kubernetes可以通过存活探针(liveness probe)检查容器是否存活。如果探测失败,Kubernetes将定期执行探针并重新启动容器。 官方文档请见: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ 存活探针分为三种: exec:在容器内执行任意命令,并检查命令的退出状态码,为0则成功,否则失败。 httpGet:执行http get请求,http code大于等于200并且小于400表示成功,否则失败。 tcp:尝试与指定端口建立socket连接,建立成功则探测成功,否则失败。 exec探针 从官网复制个yaml,但是要将image从k8s.gcr.io/busybox更改为busybox。 -> [root@kube0.vm] [~] cat exec-liveness.yaml apiVersion: v1 kind: Pod metadata: labels: test: liveness name: liveness-exec spec: containers: - name: liveness image: busybox args: - /bin/sh - -c - touch /tmp

centos7安装k8s 1.19

限于喜欢 提交于 2020-10-09 15:16:28
主机 192.168.254.10 k8s-master 192.168.254.20 k8s-node1 192.168.254.21 k8s-node2 参数配置 所有节点都要执行 关闭swap swapoff -a # 注释掉/etc/fstab文件swap的行 修改内核模块 配置k8s.conf文件(#k8s.conf文件原来不存在,需要自己创建的) 所有节点上都要做 cat <<EOF>> /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 vm.swappiness=0 EOF sysctl --system 关闭防火墙 所有节点上都要做 systemctl stop firewalld systemctl disable firewalld 关闭selinux 1. 临时 setenforce 0 2. 永久关闭 vim /etc/sysconfig/selinux SELINUX=enforcing 替换为 SELINUX=disabled 准备仓库 k8s.repo cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes

《二》Kubernetes概述

丶灬走出姿态 提交于 2020-10-08 10:27:39
Kubernetes是什么 Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S。 K8S用于容器化应用程序的部署,扩展和管理。 K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。 Kubernetes目标是让部署容器化应用简单高效。 官网: http://www.kubernetes.io/ Kubernetes特性 自我修复 在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。 弹性伸缩 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务。 自动部署和回滚 K8S采用滚动更新策略更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务。 服务发现和负载均衡 K8S为多个容器提供一个统一访问入口(内部IP地址和一个DNS名称),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题。 机密和配置管理 管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用。 存储编排 挂载外部存储系统