部署Kafka消息队列
生产环境推荐的kafka部署方式为operator方式部署,Strimzi是目前最主流的operator方案。集群数据量较小的话,可以采用NFS共享存储,数据量较大的话使用local pv存储。 部署operator --- helm部署operator --- operator部署方式为helm或yaml文件部署,此处以helm方式部署为例: 12345678910111213141516171819202122232425[root@tiaoban kafka]# helm repo add strimzi https://strimzi.io/charts/"strimzi" has been added to your repositories[root@tiaoban kafka]# helm pull strimzi/strimzi-kafka-operator --untar[root@tiaoban kafka]# cd strimzi-kafka-operator[root@tiaoban...
部署ELK日志收集
以3节点为例,存储使用local pv使用最大io性能,所有节点即是master节点也是data节点。完整内容可参考文档: https://www.cuiliangblog.cn/detail/section/162609409 系统参数调整 --- 修改文件描述符数目 --- 设置环境变量 12345# 修改环境变量文件vim /etc/profileulimit -n 65535# 使配置生效source /etc/profile 修改limits.conf配置文件 1234# 修改limits.conf配置vim /etc/security/limits.conf* soft nofile 65535* hard nofile 65535 验证 12# ulimit -n65535 修改虚拟内存数大小 --- 内核设置可以直接在主机上设置,也可以通过具有特权的初始化容器中设置,通常情况下直接在主机上设置。 临时设置 12# sysctl -w vm.max_map_count=262144vm.max_map_count =...
部署Rabbit MQ消息队列
安装Kubernetes Operator --- 官网的文档 https://www.rabbitmq.com/kubernetes/operator/operator-overview.html 1234567891011121314# Operator的yaml文件地址# wget https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml# 安装# kubectl apply -f cluster-operator.yml namespace/rabbitmq-system createdcustomresourcedefinition.apiextensions.k8s.io/rabbitmqclusters.rabbitmq.com createdserviceaccount/rabbitmq-cluster-operator...
安装容器运行时(Docker)
以下操作全部节点执行,如果使用docker作为容器运行时,最高支持的k8s版本为1.23.17。 版本选择 --- 每个k8s版本都有对应的docker版本范围,具体参考官方文档https://github.com/kubernetes/kubernetes/releases 以1.23.X为例,查看https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md 由更新日志可知,支持的docker版本为20.10.7以上,也不用安装最新版本的docker,以免出现docker版本与k8s版本不匹配的现象,此处就以安装20.10.7为例。 docker安装 --- RHEL安装 --- 12345678# 安装前源准备[root@k8s-master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 # 配置yum源[root@k8s-master ~]# yum-config-manager...
部署helm包管理工具
安装Helm --- 官方参考文档:https://helm.sh/docs/intro/quickstart/ Helm的安装方式有两种:预编译的二进制程序和源码编译安装。 Helm项目托管在GitHub之上,项目地址为https://github.com/helm/helm/releases。 Helm的运行依赖于本地安装并配置完成的kubectl方能与运行于Kubernetes集群之上的Tiller服务器进行通信,因此,运行Helm的节点也应该是可以正常使用kubectl命令的主机,或者至少是有着可用kubeconfig配置文件的主机。 下载压缩包并解压 --- 12[root@k8s-master k8s-install]# wget https://get.helm.sh/helm-v3.16.2-linux-amd64.tar.gz[root@k8s-master k8s-install]# tar -zxvf helm-v3.16.2-linux-amd64.tar.gz 移动到环境变量目录中 --- 1234[root@k8s-master...
安装容器运行时(Containerd)
从Kubernetes 1.20版本开始官方不推荐使用Docker,1.24版本将完全弃用docker。如果安装1.22以上版本的k8s,官方推荐使用containerd,docker支持k8s版本最高为1.23.16。 版本选择 --- 每个k8s版本都有对应的Containerd版本范围,具体参考官方文档https://github.com/kubernetes/kubernetes/releases 以1.24.X为例,查看https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md 由更新日志可知,支持的最低版本Containerd为1.4.12 安装container --- RHEL --- 12345678910# 安装依赖[root@k8s-master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2# 添加yum源[root@k8s-master ~]#...
部署traefik代理
ingress-NGINX和traefik二选一 参考文档 --- 官方文档:https://doc.traefik.io/traefik/getting-started/install-traefik/ gtihub地址:https://github.com/traefik/traefik-helm-chart 必要条件 --- Kubernetes版本1.14+ Helm版本3+ 安装traefik --- 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283# 添加repo[root@k8s-master ~]# helm repo add traefik https://helm.traefik.io/traefik# 更新repo仓库资源[root@k8s-master ~]# helm repo...
Containerd进阶使用
ctr命令使用 --- 命名空间 查看命名空间 Containerd 中也支持命名空间的概念,比如查看命名空间: 12345[root@work3 ~]# ctr ns lsNAME LABELS default k8s.io moby 创建命名空间 如果不指定,ctr 默认使用的是 default 空间。同样也可以使用 ns create 命令创建一个命名空间: 1234567[root@work3 ~]# ctr ns create test[root@work3 ~]# ctr ns lsNAME LABELS default k8s.io moby test 删除命名空间 使用 remove 或者 rm 可以删除 namespace: 1234567[root@work3 ~]# ctr ns rm testtest[root@work3 ~]# ctr ns lsNAME LABELS default k8s.io moby...
安装Kubernets集群
kubeadm部署集群(1.20之前) --- 以下操作在master节点执行 配置文件创建集群 + 获取默认的初始化参数文件 <font style="background-color:rgba(255, 255, 255, 0);"># kubeadm config print init-defaults > kubeadm-conf.yaml</font> 配置kubeadm-conf.yaml初始化文件 12345678910111213141516171819202122232425262728293031323334353637383940414243444546apiVersion: kubeadm.k8s.io/v1beta2bootstrapTokens:- groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: -...
部署minIO对象存储
单节点部署 --- 参考文档 [http://www.minio.org.cn/docs/minio/kubernetes/upstream/#quickstart-minio-for-kubernetes](http://www.minio.org.cn/docs/minio/kubernetes/upstream/#quickstart-minio-for-kubernetes) 部署minIO --- 创建资源 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980[root@k8s-master minio]# cat > minio.yaml << EOFkind: PersistentVolumeClaimapiVersion: v1metadata: name: minio-pvc ...