kubeadm 搭建k8s测试环境

由于工作中需要单台服务器或者双台服务器搭建开发k8s测试环境,如下是具体的搭建过程

#关闭防火墙
systemctl stop firewalld && systemctl disable firewalld

#关闭selinux
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config  && setenforce 0

#关闭sawp 分区
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

#解析
cat > /etc/hosts <<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.102 k8s-master
192.168.56.103 k8s-node01
EOF

#优化内核参数限制参数
cat > /etc/sysctl.d/k8s.conf << EOF
net.ipv4.ip_forward = 1    #开启路由转发
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1   #二层的网桥在转发包时会被宿主机iptables的forward规则匹配
EOF

sysctl --system

#匹配系统时间
yum install -y ntpdate

(echo "*/5 * * * * /usr/sbin/ntpdate -u cn.pool.ntp.org") | crontab
systemctl restart crond

#安装docker
yum -y install yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
#加速配置
mkdir -p /etc/docker/
cat > /etc/docker/daemon.json <<EOF
{
    "registry-mirrors":[
        "https://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com"
    ]
}
EOF
systemctl enable docker && systemctl start docker

#安装 kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
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
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

#基于命令初始化高可用
kubeadm init \
--apiserver-advertise-address=192.168.56.102 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.18.0 \
--service-cidr=10.1.0.0/16 \
--service-cidr=10.10.0.0/16 \
--pod-network-cidr=10.122.0.0/16

#配置kube-config文件
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

#安装网络组件calico
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

#根据提示加入节点,单节点master不需要操作此步,但是需要在单master上取消污点
kubeadm join 192.168.56.102:6443 --token 0l4pxe.xeukpouw0pqly8we \
    --discovery-token-ca-cert-hash sha256:922d39700bed49889788ddb1a3b7a36f7320939556925a76a440ad18bf6190c4
    
#部署kuboard
kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml

#查看令牌
echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)

#浏览器登陆 ip:32567
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

y_zilong

一分钱的肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值