好用的K8S1.8.4 集群二进制安装指南

简介: 利用Ansible部署kubernetes集群 本系列文档致力于提供快速部署高可用`k8s`集群的工具,并且也努力成为`k8s`实践、使用的参考书;基于二进制方式部署和利用`ansible-playbook`实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配置和注意事项。

利用Ansible部署kubernetes集群


本系列文档致力于提供快速部署高可用`k8s`集群的工具,并且也努力成为`k8s`实践、使用的参考书;基于二进制方式部署和利用`ansible-playbook`实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配置和注意事项。项目地址:https://github.com/gjmzj/kubeasz

集群特性:`TLS` 双向认证、`RBAC` 授权、多`Master`高可用、支持`Network Policy`

二进制方式部署优势:有助于理解系统各组件的交互原理和熟悉组件启动参数,有助于快速排查解决实际问题

文档基于`Ubuntu 16.04`,其他系统如`CentOS 7`需要读者自行替换部分命令;由于使用经验有限和简化脚本考虑,已经尽量避免`ansible-playbook`的高级特性和复杂逻辑。

你可能需要掌握基本`kubernetes` `docker` `linux shell` 知识,关于`ansible`建议阅读 [ansible超快入门] 基本够用。

欢迎提`Issues`和`PRs`参与维护项目。

组件版本

  1. kubernetes v1.8.4
  2. etcd v3.2.10
  3. docker 17.09.0-ce
  4. calico/node v2.6.2

附:集群用到的所有二进制文件已打包好供下载 `https://pan.baidu.com/s/1eSetFSA`

快速指南

单机快速体验k8s集群的测试、开发环境–[AllinOne部署];在国内的网络环境下要比官方的minikube方便、简单很多。

1.准备一台虚机(推荐内存3G,硬盘20G以上),最小化安装Ubuntu16.04 server,配置基础网络、更新源、SSH登陆等。
2.安装python2/git/python-pip/ansible

# 文档中脚本默认均以root用户执行
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
# 删除不要的默认安装
apt-get purge ufw lxd lxd-client lxcfs lxc-common
# 安装依赖工具
apt-get install python2.7 git python-pip
# Ubuntu16.04可能需要配置以下软连接
ln -s /usr/bin/python2.7 /usr/bin/python
# 安装ansible (国内如果安装太慢可以直接用pip阿里云加速)
#pip install pip –upgrade
#pip install ansible
pip install pip –upgrade -i http://mirrors.aliyun.com/pypi/simple/ –trusted-host mirrors.aliyun.com
pip install –no-cache-dir ansible -i http://mirrors.aliyun.com/pypi/simple/ –trusted-host mirrors.aliyun.com
# 配置ansible ssh密钥登陆
ssh-keygen -t rsa -b 2048 回车 回车 回车
ssh-copy-id $IP #$IP为本虚机地址,按照提示输入yes 和root密码

3.安装kubernetes集群

git clone https://github.com/gjmzj/kubeasz.git
mv kubeasz /etc/ansible
# 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录
# 国内请从我分享的百度云链接下载 https://pan.baidu.com/s/1eSetFSA
# 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh
tar zxvf k8s.184.tar.gz
mv bin/* /etc/ansible/bin
# 配置ansible的hosts文件
cd /etc/ansible
cp example/hosts.allinone.example hosts
然后根据实际情况修改此hosts文件,所有节点都是本虚机IP
# 采用一步安装或者分步安装
ansible-playbook 90.setup.yml # 一步安装
#ansible-playbook 01.prepare.yml
#ansible-playbook 02.etcd.yml
#ansible-playbook 03.kubectl.yml
#ansible-playbook 04.docker.yml
#ansible-playbook 05.calico.yml
#ansible-playbook 06.kube-master.yml
#ansible-playbook 07.kube-node.yml

如果执行成功,k8s集群就安装好了。

4.验证安装

# 如果提示kubectl: command not found,退出重新ssh登陆一下,环境变量生效即可
kubectl version
kubectl get componentstatus # 可以看到scheduler/controller-manager/etcd等组件 Healthy
kubectl clusterinfo # 可以看到kubernetes master(apiserver)组件 running
kubectl get node # 可以看到单 node Ready状态
kubectl get pod –all-namespaces # 可以查看所有集群pod状态
kubectl get svc –all-namespaces # 可以查看所有集群服务状态
calicoctl node status # 可以在master或者node节点上查看calico网络状态

5.安装主要组件

# 安装kubedns
kubectl create -f manifests/kubedns
# 安装heapster
kubectl create -f manifests/heapster
# 安装dashboard
kubectl create -f manifests/dashboard

本文转自kubernetes中文社区-好用的K8S1.8.4 集群二进制安装指南

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1天前
|
Prometheus 运维 Kubernetes
Kubernetes 集群的监控与日志管理最佳实践
【5月更文挑战第23天】 在容器化和微服务架构日益普及的当下,Kubernetes 已成为众多企业的首选平台。随之而来的是对集群性能、资源利用和运行状况的持续监控需求,以及日志管理的重要性。本文将探讨在 Kubernetes 环境中实现有效监控和日志管理的策略,涵盖关键组件的选择、配置优化及故障排查流程,旨在为运维工程师提供一套综合解决方案,确保集群的稳定性和高可用性。
|
1天前
|
存储 运维 Kubernetes
Kubernetes 集群的持续性能优化策略
【5月更文挑战第23天】 在动态且日益复杂的云计算环境中,维护 Kubernetes 集群的性能是一个不断进化的挑战。本文深入探讨了一系列实用的技术手段和最佳实践,旨在帮助运维专家持续优化其 Kubernetes 环境。通过分析关键组件、资源调度策略、网络效率以及存储优化等方面,我们提出了一套综合性能提升方案。这些策略不仅有助于提高系统的响应能力和资源利用率,还能确保长期的稳定运行。
|
2天前
|
存储 运维 监控
Kubernetes 集群的监控与维护策略
【5月更文挑战第23天】在微服务架构日益普及的当下,容器化技术与编排工具如Kubernetes已成为部署和管理应用程序的重要手段。然而,随着集群规模的扩大和复杂性的增加,确保系统的稳定性和高效性成为了一项挑战。本文将深入探讨针对Kubernetes集群的监控和维护策略,旨在为运维人员提供一套系统的方案,以实现对集群状态的实时监控、性能优化和故障快速响应。
|
3天前
|
存储 Kubernetes 监控
Kubernetes 集群的持续性能优化策略
【5月更文挑战第22天】 在微服务架构日益普及的背景下,容器编排成为关键性技术之一。其中,Kubernetes 凭借其强大的功能、灵活的扩展性和便捷的管理特性,成为业界广泛采用的解决方案。然而,随着集群规模的扩大和业务复杂度的增加,性能问题逐渐凸显,影响系统稳定性和响应效率。本文聚焦于 Kubernetes 集群的性能优化,提出一系列持续优化的策略,旨在帮助运维人员系统性地分析和解决性能瓶颈,提升集群运行效率。通过实际案例分析与经验总结,为读者呈现一套实用的性能调优方法论。
|
5天前
|
运维 监控 Kubernetes
Kubernetes 集群的监控与日志管理最佳实践
【5月更文挑战第19天】 在现代微服务架构中,容器编排平台如Kubernetes已成为部署、管理和扩展应用程序的关键工具。随着其应用范围不断扩大,集群的稳定性和性能监控变得至关重要。本文将探讨针对Kubernetes集群的监控策略,并深入分析日志管理的实现方法。通过介绍先进的技术堆栈和实用工具,旨在为运维专家提供一套完整的解决方案,以确保集群运行的透明度和可靠性。
38 3
|
6天前
|
存储 运维 监控
Kubernetes 集群的监控与性能优化策略
【5月更文挑战第19天】 在微服务架构日益普及的背景下,容器编排工具如Kubernetes已成为部署、管理和扩展服务的关键平台。然而,随着集群规模的增长和服务的复杂化,有效的监控和性能优化成为确保系统稳定性和高效性的重要挑战。本文将探讨针对Kubernetes集群监控的最佳实践,并提出一系列性能优化策略,旨在帮助运维人员识别潜在的瓶颈,保障服务的持续可靠性及响应速度。
|
8天前
|
资源调度 Kubernetes 监控
Kubernetes 集群性能优化实践
【5月更文挑战第17天】在容器化和微服务架构日益普及的当下,Kubernetes 已成为众多企业的首选容器编排工具。然而,随着集群规模的增长和业务复杂度的提升,性能优化成为确保系统稳定性与高效运行的关键。本文将深入探讨 Kubernetes 集群性能优化的策略与实践,覆盖从节点资源配置到网络通信优化,再到高效的资源调度机制,旨在为运维人员提供系统的优化路径和具体的操作建议。
|
8天前
|
存储 Java Serverless
ACK One Argo 工作流集群:玩转容器对象存储
ACK One Argo 工作流集群:玩转容器对象存储
ACK One Argo 工作流集群:玩转容器对象存储
|
9天前
|
Kubernetes Ubuntu Docker
初始化k8s多结点集群
在Ubuntu22.04.3 LTS上设置k8s多节点集群,采用Docker v24.0.6、kubeadm v1.28和cir-dockerd v0.3.4。首先安装docker和cri-dockerd,更新k8s三件套至v1.28。然后,参照官方文档进行`kubeadm init`初始化集群,配置包括自定义镜像仓库、控制面端点等。成功初始化后,显示了相关证书和配置信息。最后,提供了一些额外的kubectl命令以管理节点。
32 1
|
10天前
|
存储 运维 Kubernetes
Kubernetes 集群的持续性能优化策略
【5月更文挑战第14天】 在动态且不断扩展的云计算环境中,保持 Kubernetes 集群的高性能运行是一个挑战。本文将探讨一系列实用的性能优化措施,旨在帮助运维专家确保其容器化应用能在资源受限的情况下仍保持高效与稳定。通过分析 Kubernetes 的资源调度机制、存储和网络配置,我们提出了一套综合的性能调优框架,并结合实际案例,展示如何实施这些策略以提升集群的整体性能。