CentOS8搭建kubernetes(kubeadm)

本文档详细介绍了如何在阿里云环境中配置Kubernetes集群,包括修改SSH配置以允许密码登录和root账号登录,关闭防火墙,安装Docker并设置镜像源,然后安装Kubernetes组件,并通过kubeadm初始化集群。此外,还提到了Calico网络插件的部署以及获取join命令以添加更多节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

echo "HISTFILESIZE=99999" >> ~/.bashrc 
echo "HISTSIZE=99999" >> ~/.bashrc 
echo 'HISTTIMEFORMAT="%F %T "'>> ~/.bashrc  
# 命令立刻写入而不是退出时写入
echo 'PROMPT_COMMAND="history -a"' >> ~/.bashrc
exit

然后重新sudo su,可以设置域名再进行下面操作
master 0

# 允许密码登录
sed -ri '/^PasswordAuthentication no/c#PasswordAuthentication no' /etc/ssh/sshd_config && \
sed -ri '/^#PasswordAuthentication yes/cPasswordAuthentication yes' /etc/ssh/sshd_config && \
# 允许root账号登录
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config && \
# 让配置生效
systemctl restart sshd && \
# 至此可以使用passwd设置密码后换xshell了

swapoff -a && sed -i 's/.*swap.*/#&/' /etc/fstab && \
setenforce 0 && sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config && \
systemctl disable --now firewalld && \

# 安装docker
mkdir /etc/docker && \
echo '{
"registry-mirrors" : ["https://mj9kvemk.mirror.aliyuncs.com"],
"exec-opts": [ "native.cgroupdriver=systemd" ]
}' > /etc/docker/daemon.json && \
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun && \
systemctl enable --now docker && \
# 开始安装k8s,下面两个0表示不校验
echo '[kubernetes]
name=Kubernetesvagrant
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg'> /etc/yum.repos.d/kubernetes.repo&& \
yum -y makecache && \
# 确定k8s版本
KUBERNETES_VERSION=1.19.8-0
yum install -y kubelet-$KUBERNETES_VERSION kubeadm-$KUBERNETES_VERSION kubectl-$KUBERNETES_VERSION nc tc --disableexcludes=kubernetes && \
systemctl enable --now kubelet && \
docker pull gotok8s/coredns:v1.8.0 && \
docker tag gotok8s/coredns:v1.8.0 registry.aliyuncs.com/google_containers/coredns:v1.8.0 && \
export KUBECONFIG=/etc/kubernetes/admin.conf

下面master是外部访问主节点的地址(如果master是集群则必须配置),按照官网说法最好是lbs的地址,192.168.0.4是master节点的ip,不是lbs的地址,另外其他master在加入时也需要指定该地址为加入的master节点的ip(如果单网卡就没有这些烦恼),并且不能是域名

kubeadm init \
--apiserver-cert-extra-sans=127.0.0.1 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=172.24.0.0/16 \
--apiserver-advertise-address 192.168.0.4 \
--control-plane-endpoint "master:6443" --upload-certs && \
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

上面的init命令执行完毕会打印出来两个join命令,分别作为master加入集群和node加入集群时的指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值