找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 593|回复: 0

SHELL编程实战K8S 1.20.4 部署脚本

[复制链接]

31

主题

20

回帖

279

积分

管理员

积分
279
发表于 2024-1-13 11:54:26 | 显示全部楼层 |阅读模式
#!/bin/bash

#2024年1月1220:34:56

#auto install kubernetes 1.20.4

#by author www.jfedu.net

##################

#设置变量

MASTER_IP=10.0.12.13
K8S_VERSION=1.20.4
FLANNEL_VERSION=0.14.0

#关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#修改主机名
hostnamectl set-hostname k8s-master

#添加Kubernetes阿里源
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
EOF

#添加Docker阿里源;
wget  -P /etc/yum.repos.d/ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装Docker-CE版本;
yum install docker-ce* -y

#查Docker版本是否安装;
rpm -qa|grep -E "docker"

#安装 docker、kubelet、kubeadm
yum install -y kubelet-${K8S_VERSION} kubeadm-${K8S_VERSION} kubectl-${K8S_VERSION} --disableexcludes=kubernetes

#启动kubelet服务
systemctl enable kubelet
systemctl start kubelet

#初始化 kubeadm
kubeadm init --kubernetes-version=v1.20.4 --pod-network-cidr=10.244.0.0/16

#设置 kubeconfig
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u).$(id -g) $HOME/.kube/config

#安装 flannel 网络插件
kubectl apply -f https://raw.githubusercontent.co ... on/kube-flannel.yml

#部署 dashboard
kubectl apply -f https://raw.githubusercontent.co ... oy/recommended.yaml

#创建 dashboard 用户
cat > dashboard-admin.yaml << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
EOF
kubectl apply -f dashboard-admin.yaml
cat > dashboard-admin-rolebinding.yaml << EOF
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
EOF

kubectl apply -f dashboard-admin-rolebinding.yaml

#获取 dashboard 登录 token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

#输出 dashboard URL
echo "Dashboard URL: https://10.0.12.13:31001"

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表