Anolis8使用kubeadm安装Kubernetes
作者:互联网
一、环境准备
-
关闭防火墙、SELinux和交换分区
systemctl disable --now firewalld sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config swapoff -a
-
配置软件包仓库
# Docker 软件仓库 cat > /etc/yum.repos.d/docker-ce.repo << EOF [docker-ce-stable] name=Docker CE Stable - \$basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/\$releasever/\$basearch/stable enabled=1 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg EOF 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=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 EOF
-
修改内核参数
modprobe br_netfilter cat > /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 sysctl -p /etc/sysctl.d/kubernetes.conf
-
配置主机名解析
cat >> /etc/hosts << EOF 172.20.1.21 anolis-k8s-node01 anolis-k8s-apiserver 172.20.1.22 anolis-k8s-node02 172.20.1.23 anolis-k8s-node03 EOF
-
配置时间同步
dnf install chrony
-
安装依赖包
dnf install ipvsadm iproute-tc
二、安装
-
安装容器运行时
dnf makecache && dnf install containerd.io containerd config default |sed '/SystemdCgroup/s/false/true/' |sed '/sandbox_image/s@k8s.gcr.io/pause:3.6@registry.aliyuncs.com/google_containers/pause:3.7@' > /etc/containerd/config.toml systemctl enable --now containerd
-
配置
crictl
客户端工具cat > /etc/crictl.yaml << EOF runtime-endpoint: unix:///var/run/containerd/containerd.sock image-endpoint: unix:///var/run/containerd/containerd.sock timeout: 10 debug: false EOF
-
安装
kubeadm
、kubectl
和kubelet
dnf install kubeadm-1.24.1-0 kubelet-1.24.1-0 kubectl-1.24.1-0 crictl-1.24.1-0 -y systemctl enable kubelet
-
初始化集群
kubeadm init \ --kubernetes-version=v1.24.1 \ --pod-network-cidr=10.244.0.0/16 \ --apiserver-advertise-address=172.20.1.21 \ --control-plane-endpoint=anolis-k8s-apiserver \ --image-repository=registry.aliyuncs.com/google_containers
三、部署addons
-
安装
flannel
组件kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
-
安装
metrics-server
组件-
修改所有节点
kubelet
配置文件echo "serverTLSBootstrap: true" >> /var/lib/kubelet/config.yaml systemctl reboot kubelet
-
修改
kube-system
名称空间中的configmap/kubelet-config
资源# 在末尾添加配置 serverTLSBootstrap: true
-
签发证书
# 查看所有证书签名请求 kubectl get csr # 签发证书 kubectl certificate approve <csr-name>
-
下载
metrics-server
清单文件wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
-
修改
metrics-server
清单文件# --args 增加 - --requestheader-allowed-names=front-proxy-client # 修改镜像地址为国内镜像
-
部署
metrics-server
组件kubectl apply -f components.yaml
-
查看组件日志并验证
kubectl get pod -n kube-system -l k8s-app=metrics-server kubectl logs -f <metrics-server-pod-name> # 验证 kubectl top nodes kubectl top pods
-
标签:kubectl,Kubernetes,etc,--,server,metrics,kubelet,kubeadm,Anolis8 来源: https://www.cnblogs.com/liy36/p/16445962.html