引言
随着云计算和容器技术的快速发展,Kubernetes(简称K8s)已经成为企业级容器化运维的标配。K8s集群的部署与管理是企业数字化转型的重要一环。本文将详细介绍K8s集群的部署过程,帮助读者轻松上手企业级容器化运维。
环境准备
硬件要求
至少三台服务器,一台作为Master节点,其余作为Worker节点。
Master节点:4核CPU、8GB内存、100GB硬盘。
Worker节点:4核CPU、8GB内存、100GB硬盘。
软件安装
Master节点:安装Docker、etcd、flannel、k8s组件。
Worker节点:安装Docker、flannel、kubelet、kube-proxy。
配置网络
设置主机名,关闭防火墙。
Master节点:配置etcd、flannel、kube-apiserver、kube-scheduler和kube-controller-manager。
Worker节点:配置docker、flannel、kubelet和kube-proxy。
使用flannel或其他网络插件配置节点间的通信。
集群搭建
Master节点配置
设置主机名:
hostnamectl set-hostname master
关闭防火墙:
systemctl stop firewalld
安装Docker:
yum install -y docker
启动并使能Docker:
systemctl start docker && systemctl enable docker
安装etcd:
yum install -y etcd
配置etcd:
vi /etc/etcd/etcd.conf
name = “master”
data-dir = “/var/lib/etcd”
listen-peer-urls = “http://127.0.0.1:2380”
listen-client-urls = “http://127.0.0.1:2379”
安装flannel:
yum install -y flannel
配置flannel:
vi /etc/flannel/flannel.conf
etcd-url = “http://master:2379”
subnet = “10.0.0.0/16″
安装k8s组件:
yum install -y kubeadm kubelet kubectl
配置kubelet:
vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
KUBELET_KUBEADM_ARGS=”–pod-manifest-path=/etc/kubernetes/manifests –cgroup-driver=systemd –root-dir=/var/lib/kubelet”
启动并使能kubelet:
systemctl start kubelet && systemctl enable kubelet
初始化k8s集群:
kubeadm init –pod-network-cidr=10.0.0.0/16
Worker节点配置
设置主机名:
hostnamectl set-hostname worker
关闭防火墙:
systemctl stop firewalld
安装Docker:
yum install -y docker
启动并使能Docker:
systemctl start docker && systemctl enable docker
安装kubelet和kube-proxy:
yum install -y kubelet kube-proxy
配置kubelet:
vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
KUBELET_KUBEADM_ARGS=”–pod-manifest-path=/etc/kubernetes/manifests –cgroup-driver=systemd –root-dir=/var/lib/kubelet”
启动并使能kubelet:
systemctl start kubelet && systemctl enable kubelet
加入Worker节点到集群:
kubeadm join master:6443 –token
验证集群
查看集群状态:
kubectl get nodes
查看Pods状态:
kubectl get pods -n kube-system
总结
通过以上步骤,您已经成功搭建了一个K8s集群,并可以开始进行企业级容器化运维。在实际应用中,您可以根据需求调整集群规模和配置,以满足不同的业务场景。