Kubernetes v1.28.4 安装笔记

安装 kubelet kubeadm kubectl

K8s 集群的每个 node 上都要安装的

官方文档参考: https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl

配置 containerd (容器运行时)

1. 转发 IPv4 并让 iptables 看到桥接流量
需要配置项说明验证
br_netfilterUbuntu 18.04.4 LTS 已加载lsmod | grep br_netfilter
overlayUbuntu 18.04.4 LTS 已加载lsmod | grep overlay
net.bridge.bridge-nf-call-iptables=1Ubuntu 18.04.4 LTS 默认已是 1sysctl net.bridge.bridge-nf-call-iptables
net.bridge.bridge-nf-call-ip6tables=1Ubuntu 18.04.4 LTS 默认已是 1sysctl net.bridge.bridge-nf-call-ip6tables
net.ipv4.ip_forward=1Ubuntu 18.04.4 LTS 默认已是 1sysctl net.ipv4.ip_forward

官方文档参考: https://kubernetes.io/zh-cn/docs/setup/production-environment/container-runtimes/#%E8%BD%AC%E5%8F%91-ipv4-%E5%B9%B6%E8%AE%A9-iptables-%E7%9C%8B%E5%88%B0%E6%A1%A5%E6%8E%A5%E6%B5%81%E9%87%8F

2. containerd 相关配置

先生成默认的配置:

sudo containerd config default | sudo tee /etc/containerd/config.toml

该默认配置以下 2 处:

源文本修改为
SystemdCgroup = falseSystemdCgroup = true
sandbox_image = “registry.k8s.io/pause:3.6”sandbox_image = “registry.aliyuncs.com/google_containers/pause:3.6”

修改完毕后,执行systemctl restart containerd

官方文档参考:https://kubernetes.io/zh-cn/docs/setup/production-environment/container-runtimes/#%E8%BD%AC%E5%8F%91-ipv4-%E5%B9%B6%E8%AE%A9-iptables-%E7%9C%8B%E5%88%B0%E6%A1%A5%E6%8E%A5%E6%B5%81%E9%87%8F

配置 kubelet 的 cgroup 驱动

Kubernetes v1.28 默认已经是

官方文档参考: https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/#%E9%85%8D%E7%BD%AE-kubelet-%E7%9A%84-cgroup-%E9%A9%B1%E5%8A%A8

kubeadm 安装 K8s

sudo kubeadm init \
  --apiserver-advertise-address 10.0.16.5 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.28.4 \
  --service-cidr 10.100.0.0/16 \
  --pod-network-cidr 10.244.0.0/16

参数说明:

参数说明
apiserver-advertise-addressAPI 服务器所公布的其正在监听的 IP 地址。如果未设置,则使用默认网络接口
image-repository镜像拉取的仓库,填写国内镜像源,不会被墙,拉不下来
kubernetes-versionK8s 版本,本文值为 v1.28.4
service-cidr为服务的虚拟 IP 地址另外指定 IP 地址段。默认值:“10.96.0.0/12”
pod-network-cidr指明 Pod 网络可以使用的 IP 地址段。如果使用 Flannel 网络,必须配置这个字段。

官方文档参考: https://kubernetes.io/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file

成为 init 后,会有不少信息输出,按这些信息提示操作

安装网络插件

kubectl apply -f https://github.com/flannel-io/flannel/releases/download/v0.23.0/kube-flannel.yml

验收

fananchong@myubuntu:~$ kubectl get po -A
NAMESPACE      NAME                               READY   STATUS    RESTARTS   AGE
kube-flannel   kube-flannel-ds-hrpcn              1/1     Running   0          3h6m
kube-system    coredns-66f779496c-8lsvj           1/1     Running   0          3h32m
kube-system    coredns-66f779496c-kbzts           1/1     Running   0          3h32m
kube-system    etcd-myubuntu                      1/1     Running   1          3h32m
kube-system    kube-apiserver-myubuntu            1/1     Running   1          3h32m
kube-system    kube-controller-manager-myubuntu   1/1     Running   1          3h32m
kube-system    kube-proxy-qksn5                   1/1     Running   0          3h32m
kube-system    kube-scheduler-myubuntu            1/1     Running   1          3h32m

主节点可被调度 Pod

通过查看主节点信息,找到设置的污点信息

kubectl describe node myubuntu | grep Taints

用类似以下命令删除:

kubectl taint node myubuntu node-role.kubernetes.io/control-plane:NoSchedule-

创建个 pod 验收下

kubectl create deployment nginx --image=nginx
kubectl get pod -A

kubectl 自动补全

  • 打开终端,并编辑 ~/.bashrc 文件(或 ~/.bash_profile)
  • 添加以下行来加载 kubectl 的自动补全脚本:
    source <(kubectl completion bash)
    
    保存并关闭文件。
  • 在终端中执行以下命令以使更改生效:
    source ~/.bashrc
    

其他

其他节点加入集群

没有其他节点,略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

fananchong2

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

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

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

打赏作者

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

抵扣说明:

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

余额充值