从零开始通过kubeadm安装k8s集群

从零开始通过kubeadm安装k8s集群

各节点做免密登录

关掉selinux,关掉firewalld

关闭swap分区

swapoff -a

更改内核参数,开启流量转发

modprobe br_netfilter
echo "modprobe br_netfilter" >> /etc/profile
vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

sysctl -p /etc/sysctl.d/k8s.conf

配置阿里云kubernetes yum源

vim /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0

安装kubeadm、kubectl、kubelet

yum install -y kubelet kubectl kubeadm

安装容器运行时,和容器运行时的依赖

yum install -y yum-utils device-mapper-persistent-data lvm2 && yum install -y docker-ce docker-ce-cli containerd.io 

启动并配置容器运行时开机自动启动

systemctl enable --now docker

给容器运行时更改cgroups的管理机制,以及配置国内镜像加速地址

vim /etc/docker/daemon.json
{"registry-mirrors":["https://rncxm540.mirror.aliyuncs.com"],"exec-opts":["native.cgroupdriver=systemd"]}

让容器运行时重载配置

systemctl daemon-reload && systemctl restart docker

在kubernetes的master上初始化k8s集群

kubeadm init --kubernetes-version=1.23.4 --apiserver-advertise-address=192.168.33.98 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16

tips:记得保存初始化之后给出来的节点注册命令,后面我们给集群增加节点的时候需要用到!

总的来说,k8s需要先安装容器运行时,然后安装kubeadm、kubectl、kubelet,在使用kubeadm初始化k8s集群

在master节点上,配置kubectl的配置文件,保存一个整数,这样kubectl命令可以使用这个证书对k8s集群进行管理了

mkdir -p $HOME/.kube && sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config && sudo chown $(id -u):$(id -g) $HOME/.kube/config

使用kubectl查看节点

kubectl get nodes

可以看到此时集群状态还是NotReady状态,因为网络组件还没有启动。

给新建的kubernetes集群安装网络组件–calico

tips: Calico是一种容器之间互相通信的网络方案。在虚拟化平台中,比如OpenStack、Docker等都需要实现workloads之间互联,但同时也需要对容器做隔离控制。而在多数的虚拟化平台实现中,通常都使用二层隔离技术来实现容器的网络,这些二层的技术会产生新的消耗,瓶颈以及增加一系列的复杂性。所以就有了这个Calico。在calico中把Host当作Internet中的路由器,并使用iptables来做安全访问策略。

kubectl create -f https://projectcalico.docs.tigera.io/manifests/tigera-operator.yaml
kubectl create -f https://projectcalico.docs.tigera.io/manifests/custom-resources.yaml

查看pod状态为running则安装成功

kubectl get pod --all-namspaces

向k8s中加入节点

查看节点加入命令

kubeadm token create --print-join-command

在要加入的节点上执行通过上一条命令找到的命令

kubeadm join 192.168.33.98:6443 --token angshy.38m7yfgtaw5pdljx         --discovery-token-ca-cert-hash sha256:600b8ac2a0346a1e1deffc370d8e06afddda981b0844df0ec061b8cd6ac211a2

在普通节点上想要查看集群的状态需要做的配置

将master上的证书导入到node节点上,这样在普通节点上也可以使用kubectl命令来管理k8s

mkdir ~/.kube
scp masterIP:~/.kube/config 节点ip:/root/.kube

## 给节点手动打上标签
```bash
kubectl label node node254 node-role.kubernetes.io/worker=worker

查看

kubectl get nodes
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河越柯衍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值