K8S安装
在windos11虚拟机里面进行k8s安装
·
1.创建三台centos虚拟机
使用的官方最小镜像安装
CentOS-7-x86_64-Minimal-1804.iso
建议最小硬件配置:2核CPU、2G内存、20G硬盘
master配置详情
node1和node2配置详情
三台虚拟机在安装centos的时候在网络IPV4指定DHCP,配置IPV4固定地址,保证可以访问外网,我这里虚拟机的网段配置的和本机的网段一样的。
master 192.168.1.150
node1 192.168.1.151
node2 192.168.1.152
2.在所有节点执行下面的命令
2.1 设置hosts文件
#编辑三个节点的 /etc/hosts 文件 ,添加下面内容:
192.168.1.150 master
192.168.1.151 node1
192.168.1.152 node2
2.2 设置主机名
#在master上执行
hostnamectl set-hostname master
#在node1上执行
hostnamectl set-hostname node1
#在node2上执行
hostnamectl set-hostname node2
2.3 时间同步
#启动chronyd服务
systemctl start chronyd
systemctl enable chronyd
date
没有chronyd命令使用yum install chrony 安装
2.4 关闭firewalld服务
systemctl stop firewalld
systemctl disable firewalld
2.5 关闭selinux服务
sed -i 's/enforcing/disabled/' /etc/selinux/config #重启后生效
2.6 禁用swap分区
vi /etc/fstab
#注释掉下面的设置
/dev/mapper/centos-swap swap
2.8 添加网桥过滤和地址转发功能
cat > /etc/sysctl.d/kubernetes.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
#然后执行
sysctl --system //生效命令
2.9 docker 安装参考
https://blog.csdn.net/qq_33517844/article/details/88146082
安装docker慢可以设置
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.10 kubernetes镜像切换成国内源
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
2.11 安装指定版本 kubeadm kubelet和kubectl
yum install -y kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0
#设置kubelet开机启动
systemctl enable kubelet
3. 在Master上执行命令
# 下面的操作只需要在master节点上执行即可(初始化完成后会很慢,最后会输出一个join命令,可以先保存后边会用)
kubeadm init \
--apiserver-advertise-address=192.168.1.150 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all
–apiserver-advertise-address #集群通告地址(master 机器IP)
–image-repository #由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址
–kubernetes-version #K8s版本,与上面安装的一致
–service-cidr #集群内部虚拟网络,Pod统一访问入口
–pod-network-cidr #Pod网络,与下面部署的CNI网络组件yaml中保持一致
#创建必要文件
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在执行kubeadm init 安装时报错
之前我的Docker是用yum安装的,docker的cgroup驱动程序默认设置为system。默认情况下Kubernetes cgroup为systemd,我们需要更改Docker cgroup驱动,
vim /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
systemctl restart docker
# 重新初始化
kubeadm reset # 先重置
# 在执行 kubeadm init
4. 从节点执行(node1和node2) 把初始化生成的 join 命令 在这里执行
kubeadm join 192.168.1.150:6443 --token 4zjgmo.26w39uqko0zjpck8 \
--discovery-token-ca-cert-hash sha256:aa7c7fdfd787d048ea8a0cf9ff156b8b06d9bb0fe7376e30a05f5f98fa6d5161
#默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要重新创建token,可以直接使用命令快捷生成:
kubeadm token create --print-join-command
5. 部署容器网络(CNI)(master)
Calico是一个纯三层的数据中心网络方案,是目前Kubernetes主流的网络方案。 下载YAML:
wget https://docs.projectcalico.org/manifests/calico.yaml
#下载完后还需要修改里面定义Pod网络(CALICO_IPV4POOL_CIDR),与前面kubeadm init的 –pod-network-cidr指定的一样
# 大概在 4601行
- name: CALICO_IPV4POOL_CIDR
value: "10.244.0.0/16"
kubectl apply -f calico.yaml
#查看节点状态
kubectl get all -owide
#查看通信状态
kubectl get pods -n kube-system
# 至此K8s已经部署完成。
更多推荐
已为社区贡献1条内容
所有评论(0)