企业级k8s集群部署

author author     2023-03-09     398

关键词:

参考技术A

二进制包

注:推荐用二进制包部署Kubernetes集群,虽手动部署麻烦,但可以学习很多工作原理利于后期维护。

环境

可以使用VMware虚拟机,宿主机必须8G内存以上

• 服务器可以访问外网,有从网上拉取镜像的需求

单Master服务器规划:( 注:部署时候根据具体环境进行IP地址调整即可 )



这里使用3台组建集群,可容忍1台机器故障,当然,你也可以使用5台组建集群

etcd1: 192.168.3.110 etcd2: 192.168.3.112 etcd3: 192.168.3.113

cfssl是一个开源的证书管理工具,使用json文件生成证书,相比openssl更方便使用。

找任意一台服务器操作,这里用Master节点。

创建工作目录:

自签CA:

生成证书:

会生成ca.pem和ca-key.pem文件。

创建证书申请文件:

注:上述文件hosts字段中IP为所有etcd节点的集群内部通信IP,一个都不能少!为了方便后期扩容可以多写几个预留的IP。

生成证书:

会生成etcd.pem和etcd-key.pem文件。

https://github.com/etcd-io/etcd/releases/download/v3.5.1/ etcd-v3.5.1-linux-amd64.tar.gz

以下在节点1上操作,然后将文件拷贝到其他集群机器

把刚才生成的证书拷贝到配置文件中的路径:

注意修改节点2和节点3分别etcd.conf配置,按照下面提示的修改

启动各节点的etcd服务

如果输出上面信息,就说明集群部署成功。

如果有问题看日志:/var/log/message

docker二进制下载地址:

https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz

注:使用yum安装也行

集群所有机器都安装docker

生成证书:

会生成ca.pem和ca-key.pem文件。

创建证书申请文件:

生成证书:

会生成k8s.pem和k8s-key.pem文件。

下载地址参考:

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#downloads-for-v12013

Wget https://dl.k8s.io/v1.20.13/kubernetes-server-linux-amd64.tar.gz


把刚才生成的证书拷贝到配置文件中的路径:

TLS Bootstrapping 机制,对work-node加入进行自签证书用


创建上述配置文件中token文件:

token 可以自行生产,百度下怎么生产

kube-apiserver服务


生成kube-controller-manager证书:

生成kubeconfig文件(以下是shell命令,直接在终端执行):

生成kube-scheduler证书:

生成kubeconfig文件:


生成kubeconfig文件:

通过kubectl工具查看当前集群组件状态:


在所有worker node创建工作目录:

从master节点拷贝:

注:由于网络插件还没有部署,节点会没有准备就绪 NotReady

二进制包下载地址:https://github.com/containernetworking/plugins/releases



确保kubelet启用CNI:




在Master执行:



应用场景:例如kubectl logs

在Master节点将Worker Node涉及文件拷贝到新节点192.168.3.112/113

注:这几个文件是证书申请审批后自动生成的,每个Node不同,必须删除

Node2(192.168.3.113 )节点同上。记得修改主机名!


访问地址:https://NodeIP:30001

创建service account并绑定默认cluster-admin管理员集群角色:

使用输出的token登录Dashboard。

CoreDNS用于集群内部Service名称解析。

DNS解析测试:

这样 单Master集群就搭建完成了



linux企业运维——k8s高可用集群架构搭建详解(代码片段)

K8s高可用集群文章目录K8s高可用集群一、K8s高可用集群架构原理二、实验环境三、K8s高可用集群架构搭建3.1、负载均衡Loadbalancer部署—haproxy3.2、Docker部署3.3、K8s集群部署3.4、K8s集群添加worker节点四、集群高可用性能测试一、K8s... 查看详情

linux企业运维——k8s高可用集群架构搭建详解(代码片段)

K8s高可用集群文章目录K8s高可用集群一、K8s高可用集群架构原理二、实验环境三、K8s高可用集群架构搭建1、负载均衡Loadbalancer部署—haproxy2、Docker部署3、K8s集群部署4、K8s集群添加worker节点四、集群高可用性能测试一、K8s高可用... 查看详情

企业级k8s集群部署

参考技术A二进制包注:推荐用二进制包部署Kubernetes集群,虽手动部署麻烦,但可以学习很多工作原理利于后期维护。环境可以使用VMware虚拟机,宿主机必须8G内存以上•服务器可以访问外网,有从网上拉取镜像的需求单Master... 查看详情

linux企业运维——kubernetesk8s集群安装部署(代码片段)

Linux企业运维——Kubernetes(一)k8s集群安装部署文章目录Linux企业运维——Kubernetes(一)k8s集群安装部署1、Kubernetes简介1.1、什么是Kubernetes1.2、Kubernetes设计架构2、k8s安装部署2.1、环境准备2.2、安装部署1、Kubernetes... 查看详情

ansible自动化部署k8s集群

一、Ansible自动化部署K8S集群1.1Ansible介绍Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企... 查看详情

linux企业运维——k8s高可用集群架构搭建详解(代码片段)

K8s高可用集群文章目录K8s高可用集群一、K8s高可用集群架构原理二、实验环境三、K8s高可用集群架构搭建3.1、负载均衡Loadbalancer部署—haproxy3.2、Docker部署3.3、K8s集群部署3.4、K8s集群添加worker节点四、集群高可用性能测试一、K8s... 查看详情

linux12企业实战--12ubuntu部署k8s集群(代码片段)

...5.6部署calico6.安装rancher6.1docker安装6.2设置6.3导入已有的k8s集群6.4K8S健康检查报错controller-managerUnhealthy7.安装harbor7.1下载安装包7.2登录7.3创建项目7.4搬运镜像8.普罗米修斯8.1修改配置文件修改镜像地址修改hostname修改web.external-url8.2... 查看详情

部署k8s集群(k8s集群搭建详细实践版)

1、部署k8s的两种方式:目前生产部署Kubernetes集群主要有两种方式:kubeadmKubeadm是一个K8s部署工具,提供kubeadminit和kubeadmjoin,用于快速部署Kubernetes集群。二进制包从github下载发行版的二进制包,手动部署每个... 查看详情

部署k8s集群(k8s集群搭建详细实践版)

1、部署k8s的两种方式:目前生产部署Kubernetes集群主要有两种方式:kubeadmKubeadm是一个K8s部署工具,提供kubeadminit和kubeadmjoin,用于快速部署Kubernetes集群。二进制包从github下载发行版的二进制包,手动部署每个... 查看详情

rancher运维-从零开始学习|rke部署k8s|容器管理(代码片段)

...一、概述①基础设施编排②容器编排与调度③应用商店④企业级权限管理二、RKE①REK1和RKE2的区别三、RKE1部署K8S1.1基础环境部署①SSH用户必须是节点上docker用户组的成员②禁用交换功能(Swap)③修改主机名[可选]④配置互相⑤启用I... 查看详情

rancher运维-从零开始学习|rke部署k8s|容器管理(代码片段)

...一、概述①基础设施编排②容器编排与调度③应用商店④企业级权限管理二、RKE①REK1和RKE2的区别三、RKE1部署K8S1.1基础环境部署①SSH用户必须是节点上docker用户组的成员②禁用交换功能(Swap)③修改主机名[可选]④配置互相⑤启用I... 查看详情

第二篇:二进制部署k8s集群进阶使用

二进制部署K8s集群进阶使用之第1节关于K8s证书二进制部署K8s集群进阶使用之第2节kubectl-陈述式资源管理二进制部署K8s集群进阶使用之第3节kubectl-声明式资源管理二进制部署K8s集群进阶使用之第4节pod控制器 查看详情

在k8s集群部署elk(代码片段)

在k8s集群部署ELK目录1准备环境使用kubeadm或者其他方式部署一套k8s集群。在k8s集群创建一个namespace:halashowkubectlcreatenshalashow2ELK部署架构3部署elasticSearch这是一个单节点部署,高可用方案我在研究研究。。。es与mysql的概念对应关... 查看详情

k8s集群架构的二进制部署——k8s集群学习的基础(代码片段)

K8S集群架构的二进制部署一、部署etcd二、部署docker引擎三、flannel网络配置四、部署master组件五、node节点部署一、部署etcdMaster上操作[root@192etcd-cert]#cd/usr/local/bin/[root@192bin]#rz-E(cfsslcfssl-certinfocfssljson)[root 查看详情

rancher三节点k8s集群部署例子

rancher三节点k8s集群部署例子待办https://rorschachchan.github.io/2019/07/25/使用Rancher2-1部署k8s/ 查看详情

xmeternewsletter2022-05|企业版v4.0.0发布,基于k8s部署测试机资源

...于k8s部署4.0.0版本目前支持在AWS的EKS和阿里云的ACKKubernetes集群服务上部署测试机资源。本版本中,包含改造过的JMeter单元的容器将运行于KubernetesPod中,每个 查看详情

k8s部署zookeeper集群

参考技术A记录Kubernetes使用StatefulSet方式部署Zookeeper集群。使用动态PVC,PVC创建过程略过Yaml文件包含configmap、service、StatefulSet。vimzookeeper-test.yaml更新资源清单查看创建的资源清单查看zookeeper配置查看集群状态Zookeeper集群部署完成... 查看详情

高可用集群篇--k8s部署微服务(代码片段)

高可用集群篇(五)--K8S部署微服务一、K8S有状态服务1.1什么是有状态服务1.2k8s部署MySQL1.2.1创建MySQL主从服务1.2.2测试主从配置1.2.3k8s部署总结(*)1.3k8s部署Redis1.4k8s部署ElasticSearch&Kibana1.4.1部署ElasticSearch1.5部署k... 查看详情