环境准备
1、主机信息
hostname |
ip |
function |
version |
k8s-master |
192.168.2.131 |
contorl |
Ubuntu22.04 |
k8s-node1 |
192.168.2.133 |
work |
Ubuntu22.04 |
2、组件及版本
kubernetes:v1.25.2
containerd:containerd.io 1.6.8
络插件:calico:v3.24.1
dashboard:2.7.0
3、关闭swap分区
swapoff -a
sed -i ‘/ swap / s/^.?$/#1/g’ /etc/fstab
4、配置阿里源k8s仓库
a、使apt支持ssl协议
apt install -y apt-transport-https
b、下载秘钥
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add –
c、添加阿里云k8s源
cat /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
d、更新仓库
apt update
5、添加containerd内核参数
tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
6、添加内核模块
modprobe overlay
modprobe br_netfilter
7、修改内核参数
tee /etc/sysctl.d/kubernetes.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
8、应用内核参数
sysctl –system
9、安装基础软件
apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates
10、安装docker GPG证书
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
11、写入docker软件源信息,并更新仓库
cat /etc/apt/sources.list.d/docker.list
deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable
EOF
apt update
12、安装containerd
apt install -y containerd.io
13、生成containerd配置文件
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1
14、修改cgroup Driver为systemd
sed -i ‘s/SystemdCgroup = false/SystemdCgroup = true/g’ /etc/containerd/config.toml
15、设置镜像源为阿里云源
sed -i ‘s/k8s.gcr.io/registry.aliyuncs.com/google_containers/g’ /etc/containerd/config.toml
16、重启containerd,并配置开机自启
systemctl restart containerd
systemctl enable containerd
17、安装k8s组件并锁定版本
apt install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
18、开启路由功能
sysctl -w net.ipv4.ip_forward=1
二、master安装
1、设置主机名
hostnamectl set-hostname k8s-master
2、初始化k8s,并指定版本、镜像仓库、控制节点ip、子 ip等信息
sudo kubeadm init
–kubernetes-version=v1.25.2
–image-repository registry.aliyuncs.com/google_containers –v=5
–control-plane-endpoint “192.168.2.131:6443”
–upload-certs
–service-cidr=10.96.0.0/12
–pod-network-cidr=10.244.0.0/16
3、根据执行结果复制配置文件
4、记录计算节点加入命令
kubeadm join 192.168.2.131:6443 –token siabnl.vsx4cx0dvwl4frtl
–discovery-token-ca-cert-hash sha256:78cbce41dd22c956489df2b82ff76a8c3e2a4c942336856a76ca75c55bb0d791
三、node1安装
1、master获取加入集群命令
kubeadm token create –print-join-command
2、node1加入集群
kubeadm join 192.168.2.131:6443 –token cm2k65.6hpbpv8ee3qp5owl –discovery-token-ca-cert-hash sha256:78cbce41dd22c956489df2b82ff76a8c3e2a4c942336856a76ca75c55bb0d791
四、部署calico
1、下载calico.yaml文件
wegt “https://docs.projectcalico.org/manifests/calico.yaml”
2、修改配置文件
a、指定 卡信息
在文件中的文件添加以下信息
b、指定子 信息
默认为192 段,根据192搜索后,修改ip段为初始化的 段,注意缩进
3、部署calico插件
kubectl apply -f calico.yaml
4、查看pod、节点信息
如图,表示calico插件已正常运行
五、部署dashboard
1、下载并修改dashboard yaml文件
在配置文件中添加以下内容,使dashboard可以通过外 访问
2、部署dashboard
kubectl apply -f dashboard.yaml
3、查看dashboard部署结果
4、创建并配置dashboard用户
a、创建dashboard管理用户
cat
apiVersion: v1
kind: ServiceAccount
metadata:
name: dashboard-admin
namespace: kube-system
EOF
b、生成secret
cat
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: dashboard-admin
namespace: kube-system
annotations:
kubernetes.io/service-account.name: “dashboard-admin”
EOF
c、绑定默认cluster-admin管理员集群角色
kubectl create clusterrolebinding dashboard-admin –clusterrole=cluster-admin –serviceaccount=kube-system:dashboard-admin
d、查看secret详细信息
kubectl describe secrets dashboard-admin -n kube-system
e、登录dashboard
使用https://nodeip:port进行登录,登录方式选择token
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树容器编排(生产环境 k8s)kubelet,kubectl,kubeadm三件套8795 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!