关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
关闭所有节点的 SELinux ,将 SELinux 设置为 permissive 模式(相当于将其禁用)
sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
设置主机名
hostnamectl set-hostname master
关闭 Swap
swapoff -a && sysctl -w vm.swappiness=0
永久关闭swap (推荐)
sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
主机添加 hosts:
cat >> /etc/hosts << EOF 10.0.0.24 master 10.0.0.25 node1 10.0.0.26 node2 EOF
配置路由转发IPv4 并让 iptables 看到桥接流量
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 EOF
应用 sysctl 参数而不重新启动
sudo sysctl --system
使用部署工具来安装 Kubernetes
k8s社区提供了3个部署工具,分别是
kubeadm
,kops
和 Kubespray ,这里有详细的说明配置Kubernetes的阿里云yum源
- Debian / Ubuntu
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
- CentOS / RHEL / Fedora
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
setenforce 0
这里指定版本
#yum install -y kubelet kubeadm kubectl yum install -y kubelet-1.23.4 kubeadm-1.23.4 kubectl-1.23.4 systemctl enable kubelet && systemctl start kubelet
* 由于官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用以下命令安装:
yum install -y --nogpgcheck kubelet-1.23.4 kubeadm-1.23.4 kubectl-1.23.4
k8s-master初始化主节点
kubeadm init \ --apiserver-advertise-address=10.0.0.24 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.23.4 \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16
注(所有节点):vi /etc/docker/daemon.json
"exec-opts": [ "native.cgroupdriver=systemd" ],
重启docker
systemctl restart docker
重置
kubeadm
安装的状态kubeadm reset
- 在初始化 (9)
在主节点上设置 Kubernetes 配置
在主节点上配置kubectl工具并设置集群证书mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 或者,如果你是
root
用户,则可以运行:
- 或者,如果你是
export KUBECONFIG=/etc/kubernetes/admin.conf
- 安装pod网络插件
在两个工作节点上加入 Kubernetes 集群
sudo kubeadm join 主节点IP:主节点端口 --token <hz1ri9.qca0lj1qii44l58c> --discovery-token-ca-cert-hash sha256:<hash>
- 例如:
sudo kubeadm join 10.0.0.24:6443 --token 37mtsv.c32oz3fgbkckoh11 --discovery-token-ca-cert-hash sha256:8da41125c132639053ca58018e57477453b51f8e344ec0a1d8709c8e432a4ada
等待一段时间,直到 Kubernetes 集群所有的节点都处于 Ready 状态。可以使用以下命令查看节点的状态:
sudo kubectl get nodes
评论 (0)