k8s kubeadm部署實踐
節(jié)點機器準(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é)點開啟轉(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
安裝、開機自啟kubelet
yum -y install kubelet kubectl kubeadm systemctl enable kubelet
配置Master節(jié)點初始化
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默認網(wǎng)段
報錯
[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é)點加入

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

此時因為沒有裝網(wǎng)絡(luò)插件,所以是not ready
安裝kubectl命令補全
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,默認為注釋

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

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

