官网
常见的三种安装k8s方式
1.kubeadm
2.kops:自动化集群制备工具
3.kubespray: 提供了 Ansible Playbook
下面以kubeadm安装k8s
kubeadm的安装是通过使用动态链接的二进制文件完成的,目标系统需要提供 glibc

##使用 ss 或者 netstat 检测端口是否启用
ss -tuln | grep 6443
netstat -tuln | grep 6443
## -t 选项表示显示 TCP 端口。
## -u 选项表示显示 UDP 端口。
## -l 选项表示显示监听状态的套接字。
## -n 选项表示不解析服务名称,直接显示端口号。

kubeadm:用来初始化集群的指令。
kubelet:在集群中的每个节点上用来启动 Pod 和容器等。
kubectl:用来与集群通信的命令行工具。

查看SeLinux 的状态

sestatus
# 将 SELinux 设置为 permissive 模式(相当于将其禁用)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

新建配置源 /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
##

安装 kubelet kubeadm kubectl 禁用对kubernetes相关软件包的排除

sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

在这里插入图片描述
启动kubelet 服务

sudo systemctl enable --now kubelet

关闭防火墙

systemctl stop iptables && systemctl disable iptables
systemctl stop firewalld  && systemctl disable firewalld

修改hostname

hostnamectl set-hostname 主机名

机器添加hosts

echo "192.168.252.79 master1" >> /etc/hosts

安装gcc开发工具等

yum install -y  gcc*   
yum install -y vim-enhanced wget  bash-completion  lrzsz ntpdate sysstat iftop htop dstat lsof chkconfig unzip telnet nmap net-tools git bzip2  bind-utils
yum install -y expat-devel  pcre-devel libxml2-devel  openssl openssl-devel  bzip2-devel  libjpeg-devel  libpng-devel   freetype-devel    libXpm-devel  libmcrypt-devel   libaio  libaio-devel  php-mysqlnd   mysql-devel gd-devel  gdbm-devel  glib2-devel  libdb4-devel    libdb4-devel  libicu-devel   libxslt-devel   readline-devel    xmlrpc-c   xmlrpc-c-devel curl-devel yum-utils device-mapper-persistent-data lvm2  conntrack-tools

时间同步

ntpdate 1.cn.pool.ntp.org
echo "*/15 * * * * /usr/sbin/ntpdate 1.cn.pool.ntp.org  >/dev/null 2>&1"  >>/var/spool/cron/root

升级/重启

yum update -y 
reboot

生成密钥

ssh-keygen -t rsa
##查看生成的公钥
cat ~/.ssh/id_rsa.pub
## 如果有多个节点 1master 2个node 需要将公钥拷贝到其他机器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.252.62
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.252.63
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.252.64

机器参数修改

cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl -p /etc/sysctl.d/k8s.conf
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐