master :100.10
slave: 100.11
slave:100.12
三台:配置
hostnamectl set-hostname master bash
hostnamectl set-hostname slave bash
hostnamectl set-hostname slave bash
防火墙selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
cat >> /etc/hosts << EOF
192.168.100.10 master
192.168.100.11 node01
192.168.100.12 node02
EOF
时间同步
timedatectl set-timezone Asia/Shanghai;timedatectl set-local-rtc 0
禁用swap
swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab
free -h 查看禁用效果
ssh-keygen -t rsa
ssh-copy-id root@node01
ssh-copy-id root@node02
安装docker所需工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
配置阿里云docker源
sudo yum-config-manager --add-repo .repo
指定安装版本的docker
sudo yum install -y docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7
启动docker
sudo systemctl enable docker && systemctl start docker
设置K8s环境
修改内核参数
cat <<EOF > /etc/sysctl.f
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
测试
sysctl --system
安装k8s 1.18
执行配置k8s阿里云源
cat <<EOF > /pos.po
[kubernetes]
name=Kubernetes
baseurl=
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=.gpg
.gpg
EOF
配置docker加速器 (所有机器)
vi /etc/docker/daemon.json
{"registry-mirrors": [""]}
重启docker
systemctl daemon-reload
systemctl restart docker
部署k8s组件(所有机器)
yum install kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
systemctl enable kubelet
在/etc/docker/daemon.json文件中,添加一句话即可,当然这个和我们的设置加速器写在一起了。
cat /etc/docker/daemon.json
{
"registry-mirrors": [""],
"exec-opts": [updriver=systemd"]
}
master安装好k8s后kubeadm初始化 (时间可能有点长耐心等待)
kubeadm init --kubernetes-version=v1.18.0 --image-repository registry.aliyuncs/google_containers --apiserver-advertise-address 192.168.100.10 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
出现以下页面
初始化完成
初始化完成 按照提示 执行以下命令
mkdir -p $HOME/.kube
sudo cp -i /etc/f $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
下方命令在两台slave用于加入master
记不住的此命令列出:kubeadm token create --print-join-command
slave加入集群
在master上kubectl get nodes查看节电 集群
K8s 部署完成
参考:非常感谢Kubernetes(k8s)安装部署配置_shelutai的博客-CSDN博客_k8s安装部署
补充
可以看出master的状态是未就绪(NotReady),之所以是这种状态是因为还缺少一个附件flannel,没有网络各Pod是无法通信的
//添加网络组件(flannel),组件flannel可以通过GitHub - flannel-io/flannel: flannel is a network fabric for containers, designed for Kubernetes中获取
kubectl apply -f .yml
//如果执行 kubectl apply -f .yml后出现以下结果,可以在网络上查询raw.githubusercontent网址对应的ip,本地hosts加上域名解析后再重试 The connection to the server raw.githubusercontent was refused - did you specify the right host or port?
185.199.108.133
185.199.109.133
185.199.110.133
185.199.111.133
kubectl apply -f .yml podsecuritypolicy.policy/psp.flannel.unprivileged created clusterrole.rbac.authorization.k8s.io/flannel created clusterrolebinding.rbac.authorization.k8s.io/flannel created serviceaccount/flannel created configmap/kube-flannel-cfg created daemonset.apps/kube-flannel-ds created
安装成功!
本文发布于:2024-01-30 06:12:25,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170656634919799.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |