我是靠谱客的博主 等待荷花,这篇文章主要介绍搭建k8s集群kubeadm 安装集群,现在分享给大家,希望可以做个参考。

环境

1:购买腾讯云 2U 4g配置服务器 两台

一个master 和一个node
关闭swap : swapoff -a
free -m 查看 swap 为 0 ,永久生效要 注释掉 /etc/fstab 文件中的 swap配置

2:安装 xshell 方便操作

kubeadm 安装集群

安装containerd(master 和 node)


官方链接: https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTMwNTY4MjcsImZpbGVHVUlEIjoicDJ6bXFRV0sydllQZkVIRiIsImlhdCI6MTY1MzA1NjUyNywidXNlcklkIjo3OTYxNTQ3OH0.BeoSgdiGdq8GvUKohqwDah5yh_BIk82Cxxg40leEfy0
1:配置模块
cat <<EOF | sudo tee /etc/modules-load.d/k8s.confbr_netfilterEOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1EOF
sudo sysctl --system
# 手动加载所有的配置文件
2:安装containerd
yum install -y containerd
配置crictl
VERSION="v1.23.0"wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gzsudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/binrm -f crictl-$VERSION-linux-amd64.tar.gz
vi /etc/crictl.yaml
runtime-endpoint: unix:///var/run/containerd/containerd.sock
image-endpoint: unix:///var/run/containerd/containerd.sock
timeout: 2
debug: false
pull-image-on-create: false
# crictl ps
CONTAINER
IMAGE
CREATED
STATE
NAME
ATTEMPT
POD ID
如上则安装成功
# crictl ps
FATA[0000] listing containers: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService
若提示这个信息 则需做以下操作
cat > /etc/containerd/config.toml <<EOF
[plugins."io.containerd.grpc.v1.cri"]
systemd_cgroup = true
EOF
systemctl restart containerd

安装kubeadm( master和node)


添加阿里云YUM软件源
$ cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
rpm --import yum-key.gpg
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import rpm-package-key.gpg
$ yum makecache fast
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet

初始化集群 (master)

kubeadm init --apiserver-advertise-address=xx.x.x.x 
--service-cidr=10.1.0.0/16 
--pod-network-cidr=192.168.0.0/16
注:pod cidr:flannel 默认是10.244.0.0/16calico 默认是192.168.0.0/16
apiserver-advertise-address 填写的是服务器网卡ip地址
firewalld is active, please ensure ports [6443 10250] are open or your cluster may not function correctly
云服务器需要开放 6443 10250 端口
(Kubernetes API Server提供HTTP的两个端口:8080,6443。insecure-port: 默认端口8080,在HTTP中没有认证和授权检查。secure-port :默认端口6443)

Master节点端口

端口用途
6443Kubernetes API server
2379-2380etcd server client API
10250kubelet API
10251Kube-scheduler
10252Kube-controller-manager

遇到的问题:安装docker 并未停掉的情况下 无法使用containerd


如果你不指定运行时,则 kubeadm 会自动尝试检测到系统上已经安装的运行时, 方法是扫描一组众所周知的 Unix 域套接字。
下面列举了一些容器运行时及其对应的套接字路径:
Runtime Path to Unix domain socket
Docker /var/run/dockershim.sock
containerd /run/containerd/containerd.sock
CRI-O /var/run/crio/crio.sock
如果同时检测到 Docker 和 containerd,则优先选择 Docker。 这是必然的,
因为 Docker 18.09 附带了 containerd 并且两者都是可以检测到的,
即使你仅安装了 Docker。 如果检测到其他两个或多个运行时,kubeadm 输出错误信息并退出。

最后

以上就是等待荷花最近收集整理的关于搭建k8s集群kubeadm 安装集群的全部内容,更多相关搭建k8s集群kubeadm内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(127)

评论列表共有 0 条评论

立即
投稿
返回
顶部