rocky8(centos8)中使用cri-o,kubeadm安装k8s 1.27.1-master

我主打的就是安装简单。

#!/bin/sh
# 先修改机器名和hosts

basis() {
  echo -e "\033[31m关闭防火墙,关闭selinux,关闭swap等基础服务\033[0m"
  systemctl stop firewalld.service
  systemctl disable firewalld.service

  setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

  swapoff -a                                                                     # 临时关闭swap
  sed -i 's/\/dev\/mapper\/centos-swap/#\/dev\/mapper\/centos-swap/g' /etc/fstab # 彻底关闭swap
  # 或者执行下面语句进行彻底关闭
  # sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
}

yum_tools() {
  echo -e "\033[31m安装wget,vim,net-toos,nfs-utils,ipvs用于替yum-config-manager换iptables\033[0m"
  # 为什么要使用ipvs,请访问:https://blog.csdn.net/qq_36807862/article/details/106068871
  yum install -y wget vim net-tools nfs-utils ipvsadm ipset
  yum update -y systemd
}

sysctl_tools() {
  # 启用此内核模块,以便遍历桥的数据包​​由iptables进行处理以进行过滤和端口转发,并且群集中的kubernetes窗格可以相互通信
  echo -e "\033[31m调整内核参数\033[0m"
  modprobe br_netfilter
  echo 1 >/proc/sys/net/bridge/bridge-nf-call-ip6tables
  echo 1 >/proc/sys/net/bridge/bridge-nf-call-iptables

  cat >>/etc/security/limits.conf </etc/sysctl.d/k8s.conf </etc/sysctl.conf </etc/sysconfig/modules/ipvs.modules <> /root/.bashrc && source /root/.bashrc
}

k8s_tools() {
  echo -e "\033[31m安装kubernetes\033[0m"
  # 安装kubernetes
  cat >/etc/yum.repos.d/kubernetes.repo </etc/sysconfig/kubelet
}

commands() {
  echo -e "\033[31m简单的基础命令\033[0m"
  echo 查看集群状态: kubectl get cs
  kubectl get cs
  echo 查看节点: kubectl get nodes
  kubectl get nodes
  echo 查看命名空间: kubectl get ns
  kubectl get ns
  echo 以ps输出格式列出kube-system命名空间的pods kube-system是系统级的pod: kubectl get pods -n kube-system
  echo 查看所有节点的运行状态和详细信息: kubectl get pods -A -o wide | grep kube-system
}

main() {
  basis        # 关闭防火墙
  yum_tools    # 安装基础包
  sysctl_tools # 调整内核
  crio_tools # 安装docker等相关工具
  k8s_tools    # 安装kubeadm
  echo -e "\033[31m列出k8s各模块对应版本\033[0m"
  kubeadm config images list
  kubeadm init --cri-socket='/var/run/crio/crio.sock' --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=Swap --service-cidr=10.96.0.0/12 --kubernetes-version=1.27.1 --image-repository registry.aliyuncs.com/google_containers
  echo -e "\033[31m添加网络插件kube-flannel\033[0m"
  # 初始化成功后也会提示以下命令的
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  chown $(id -u):$(id -g) $HOME/.kube/config

  kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

}
main
ipvs
commands
echo -e "\033[31m更改ipvs方式,请看脚本注释部分\033[0m"
#hostnamectl set-hostname k8s-master001
#echo k8s-master001 192.168.20.151 >> /etc/hosts
# 以下步骤需要在master机器ready后执行
## 1、配置kube-proxy,在master上操作,修改mode: "ipvs"
#kubectl edit cm kube-proxy -n kube-system
## 2、在master重启kube-proxy
#kubectl  get pod -n kube-system | grep kube-proxy | awk '{print $1}' | xargs kubectl delete pod -n kube-system
## 3、查看pod
#kubectl  get pod -n kube-system | grep kube-proxy
## 验证ipvs是否开启,输入获取的pod id
#kubectl logs kube-proxy-cvzb4 -n kube-system

1. 修改主机名,并添加hosts ,修改主机名的方式上面都有,看注释部分

2. 新建一个install.sh,并粘贴上面的代码

3. sh install.sh运行

你可能感兴趣的:(kubernetes,linux,运维)