【无标题】ubuntu部署k8s集群

发布于:2022-11-28 ⋅ 阅读:(522) ⋅ 点赞:(0)

环境准备

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 <<EOF >/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<<EOF

overlay

br_netfilter

EOF

6、添加内核模块

modprobe overlay

modprobe br_netfilter

7、修改内核参数

tee /etc/sysctl.d/kubernetes.conf<<EOF

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 <<EOF >/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<<EOF | kubectl apply -f -

apiVersion: v1

kind: ServiceAccount

metadata:

name: dashboard-admin

namespace: kube-system

EOF

b、生成secret

cat<<EOF | kubectl apply -f -

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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到