在Linux上成功安装Kubernetes(K8S)涉及多个步骤,包括环境准备、安装Docker、配置Kubernetes源、初始化Master节点、加入Node节点以及部署Pod等。以下是一个详细的安装指南:
环境准备
- 关闭防火墙:
systemctl stop firewalld systemctl disable firewalld
- 关闭SELinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config
- 关闭Swap:
swapoff -a sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- 设置主机名:
hostnamectl set-hostname k8s-master
- 修改hosts文件:
cat >> /etc/hosts << EOF 192.168.1.100 k8s-master 192.168.1.101 k8s-node1 192.168.1.102 k8s-node2 EOF
- 将桥接的IPv4流量传递到iptables的链:
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables=1 net.bridge.bridge-nf-call-iptables=1 EOF sysctl --system
- 时间同步:
yum install ntpdate -y ntpdate time.windows.com
安装Docker
yum install -y docker-ce systemctl enable docker systemctl start docker
安装Kubernetes组件
- 添加Kubernetes源:
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 sudo apt-get update
- 安装Kubernetes组件:
sudo apt-get install -y kubelet kubeadm kubectl
初始化Master节点
kubeadm init --apiserver-advertise-address 192.168.1.100 --kubernetes-version v1.24.0 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16
加入Node节点
在Master节点上执行初始化后,会生成一个加入命令,复制该命令并在每个Node节点上执行:
kubeadm join 192.168.1.100:6443 --token--discovery-token-ca-cert-hash sha256:
部署Pod
kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --port=80 --type=NodePort kubectl get pods
验证安装
访问Node IP和指定的端口,查看Nginx Pod是否正常运行。