Kubernetes,简称K8s

是一个开源的容器编排平台,被设计用于自动化部署、更新、扩展和运维容器化应用。它能够自动化容器应用的部署、重启、复制、管理等过程,实现高可用和负载均衡,并提供了滚动升级、故障自愈、扩容缩容等功能。

Kubernetes 除了支持 Docker 容器外,还支持其他容器运行时,如 rkt、CRI-O 等,也能够集成 Mesos、Swarm、Nomad 等多种容器编排系统和容器管理平台。

Kubernetes 是 Google 技术团队开发的一个项目,于2014年6月正式对外发布,目前由云原生计算基金会(CNCF)进行维护和发展,得到了广泛的应用和推广。



以下是一个简单的一键部署 Kubernetes 集群的脚本,可以在多台 Linux 机器上快速的部署一个 Kubernetes 集群。

Copy

#!/bin/bash

# 初始化master节点
kubeadm init --control-plane-endpoint "<LoadBalancer IP>:<LoadBalancer Port>" --upload-certs --pod-network-cidr=10.244.0.0/16

# 将kubectl配置文件复制到用户home目录下
mkdir -p $HOME/.kube
kubectl cp /etc/kubernetes/admin.conf $HOSTNAME:/etc/kubernetes/admin.conf
kubectl exec $HOSTNAME -- /bin/bash -c "cp /etc/kubernetes/admin.conf /root/.kube/config"
kubectl cp $HOSTNAME:/root/.kube/config $HOME/.kube/config

# 安装Flannel网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

# 将worker节点加入群集
echo "请在Worker节点上运行以下命令,加入集群:"
kubeadm token create --print-join-command --ttl 0

在执行脚本之前,需要将 <LoadBalancer IP> 和 <LoadBalancer Port> 替换为您的负载均衡器的 IP 地址和端口号。此外,还需要确保在每台机器上安装了 kubeadm、kubectl 和 kubelet 等 Kubernetes 组件。

注意:该脚本只适用于在多台机器上部署 Kubernetes 的情况,如果您需要在单机上部署 Kubernetes,请您参考官方文档了解更多详情。