- 确保你有至少两台(或更多)干净的Linux服务器。这些服务器将作为K8s的Master和Node节点。
- 更新系统包并安装必要的工具:
- sudo apt-get update && sudo apt-get upgrade
- sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
复制代码
- curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
- echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
复制代码
- cat <<EOF > /etc/yum.repos.d/kubernetes.repo
- [kubernetes]
- name=Kubernetes
- baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
- enabled=1
- gpgcheck=1
- repo_gpgcheck=1
- gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
- EOF
复制代码
- 安装kubelet、kubeadm和kubectl:
- sudo apt-get update
- sudo apt-get install -y kubelet kubeadm kubectl
复制代码
- 关闭防火墙(如果使用的是云服务器,可能需要配置安全组规则而不是关闭防火墙):
- sudo systemctl stop firewalld && sudo systemctl disable firewalld
复制代码
- <pre data-language="bash" id="a9994f6e" class="ne-codeblock language-bash" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px;"><code>sudo setenforce 0
- sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config</code></pre><p id="ub99b2355" class="ne-p" style="min-height: 24px;"></p>
复制代码
- sudo swapoff -a && sudo sed -i '/swap/d' /etc/fstab
复制代码
- sudo timedatectl set-ntp true
复制代码
- sudo kubeadm init --pod-network-cidr=10.244.0.0/16
复制代码
- mkdir -p $HOME/.kube
- sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
- sudo chown $(id -u):$(id -g) $HOME/.kube/config
复制代码
- 使用kubectl应用Flannel的YAML配置:
- kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
复制代码
- 连接到工作节点并运行以下命令加入集群(替换<master-ip>为主节点的IP地址):
- sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash <hash>
复制代码
- 注意:这里的<token>和<hash>值应该从主节点的kubeadm init输出中获取。
- (可选)安装Kubernetes Dashboard:
- kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
复制代码
- kubectl create serviceaccount dashboard-admin -n kube-system
- kubectl create clusterrolebinding dashboard-admin-binding --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
复制代码
- 如果所有节点都显示为Ready状态,那么你的Kubernetes集群已经成功搭建。
|