k8s kubeadm部署實(shí)踐
節(jié)點(diǎn)機(jī)器準(zhǔn)備工作
關(guān)閉防火墻
systemctl stop firewalld systemctl disable firewalld
配置免密登陸
ssh-keygen -t rsa ssh-copy-id node01
禁用SELinux
setenforce 0 /etc/sysconfig/selinux 中改SELINUX=disabled
禁用Swap
swapoff -a /etc/fstab 中注釋swap行
打開iptables橋接功能及路由轉(zhuǎn)發(fā)
sysctl -a |grep bridge 過濾bridge不存在就用下面命令加載 br_netfilter modprobe br_netfilter /etc/sysctl.d/k8s.conf 中添加兩行 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1

各節(jié)點(diǎn)開啟轉(zhuǎn)發(fā)
在 /etc/sysctl.conf 中添加 net.ipv4.ip_forward = 1 執(zhí)行 sysctl -p

部署k8s集群
部署docker
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum -y install docker-ce systemctl enable docker systemctl start docker docker --version
部署kubernetes
/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
安裝、開機(jī)自啟kubelet
yum -y install kubelet kubectl kubeadm systemctl enable kubelet
配置Master節(jié)點(diǎn)初始化
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers #--pod-network-cidr 是之后網(wǎng)絡(luò)分配給pod的地址段,需要提前規(guī)劃,避免網(wǎng)段沖突。10.244.0.0/16為flannel默認(rèn)網(wǎng)段
報(bào)錯(cuò)
[WARNING IsDockerSystemdCheck]: detected “cgroupfs” as the Docker cgroup driver. The recommended driver is “systemd”. Please follow the guide at https://kubernetes.io/docs/setup/cri/
則修改daemon.json,新增‘“exec-opts”: [“native.cgroupdriver=systemd”’]
[root@master ~]# more /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
記錄初始化中信息,方便節(jié)點(diǎn)加入

注意:
tocken 有效期24h,過期后加節(jié)點(diǎn)需要生成新token
kubeadm token create kubeadm token list
kubectl查看節(jié)點(diǎn)狀態(tài)

此時(shí)因?yàn)闆]有裝網(wǎng)絡(luò)插件,所以是not ready
安裝kubectl命令補(bǔ)全
yum -y install bash-completion source /usr/share/bash-completion/bash_completion source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc
安裝kubens工具用于namespace切換
插件地址:https://github.com/ahmetb/kubectx#manual-installation-macos-and-linux
tar -xf kubens_v0.9.4_linux_x86_64.tar.gz ln -s /opt/kubens/kubens /usr/local/bin/kubens
安裝網(wǎng)絡(luò)插件Calico
獲取calico.yaml
curl https://docs.projectcalico.org/manifests/calico.yaml -O
修改cidr,默認(rèn)為注釋

修改完安裝
kubectl apply -f calico.yaml
calico安裝完成后,集群轉(zhuǎn)為ready狀態(tài)

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Podman開機(jī)自啟容器實(shí)現(xiàn)過程及與Docker對比
這篇文章主要為大家介紹了Podman開機(jī)自啟容器實(shí)現(xiàn)過程,通過示例代碼的形式進(jìn)行演繹過程,有需要的朋友可以參考下,希望可以有所幫助2021-09-09
Centos?8.2?升級(jí)內(nèi)核通過elrepo源的方法
這篇文章主要介紹了Centos?8.2?升級(jí)內(nèi)核通過elrepo源,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10
Rainbond云原生部署開源社區(qū)Discourse的配置過程
這篇文章主要為大家介紹了Rainbond云原生部署開源社區(qū)Discourse配置過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
k8s如何使用NFS作為StorageClass提供動(dòng)態(tài)存儲(chǔ)
本文主要介紹了k8s中的StorageClass,包括其定義、引入的原因、實(shí)現(xiàn)方式、定義方法以及回收策略對數(shù)據(jù)的影響等,首先,StorageClass是在K8s集群中創(chuàng)建用于動(dòng)態(tài)PV的管理,可以鏈接至不同的后端存儲(chǔ),對存儲(chǔ)的請求可以指向StorageClass2024-09-09
Rainbond應(yīng)用分享與發(fā)布官方文檔說明
這篇文章主要為大家介紹了Rainbond應(yīng)用分享與發(fā)布的官方文檔說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
kubernetes?Volume存儲(chǔ)卷configMap學(xué)習(xí)筆記
這篇文章主要為大家介紹了kubernetes?Volume存儲(chǔ)卷configMap學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

