【Kubernetes单机版安装】

Kubernetes单机版安装

一、环境准备

# 关闭防火墙:不关也可以,自己手动一个一个打开端口
systemctl stop firewalld
systemctl disable firewalld
 
# 关闭selinux:使用不多,关了提升性能
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0

# 关闭Swap分区:提升性能
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab

# 安装docker:百度一下全都是

# 设置将桥接的 IPv4 流量传递到 iptables 的链
# 如果有配置,则修改
sed -i "s#^net.ipv4.ip_forward.*#net.ipv4.ip_forward=1#g" /etc/sysctl.conf
sed -i "s#^net.bridge.bridge-nf-call-ip6tables.*#net.bridge.bridge-nf-call-ip6tables=1#g" /etc/sysctl.conf
sed -i "s#^net.bridge.bridge-nf-call-iptables.*#net.bridge.bridge-nf-call-iptables=1#g" /etc/sysctl.conf
sed -i "s#^net.ipv6.conf.all.disable_ipv6.*#net.ipv6.conf.all.disable_ipv6=1#g" /etc/sysctl.conf
sed -i "s#^net.ipv6.conf.default.disable_ipv6.*#net.ipv6.conf.default.disable_ipv6=1#g" /etc/sysctl.conf
sed -i "s#^net.ipv6.conf.lo.disable_ipv6.*#net.ipv6.conf.lo.disable_ipv6=1#g" /etc/sysctl.conf
sed -i "s#^net.ipv6.conf.all.forwarding.*#net.ipv6.conf.all.forwarding=1#g" /etc/sysctl.conf
# 可能没有,追加
echo "net.ipv4.ip_forward = 1">> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1">> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables = 1">> /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1">> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1">> /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1">> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding = 1">> /etc/sysctl.conf
# 应用配置
sysctl -p

# 安装nfs-utils
yum install -y nfs-utils

# 安装kubelet、kubectl、kubeadm
 yum remove -y kubelet kubeadm kubectl
 
# 配置k8s的yum源
vim /etc/yum.repos.d/kubernetes.repo

# 插入
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
	http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
	
#安装
yum install -y kubelet-1.17.3 kubeadm-1.17.3 kubectl-1.17.3
# 启动
systemctl enable kubelet && systemctl start kubelet

# 编写脚本批量下载镜像
vim mast.sh
# 插入
#!/bin/bash
images=(
kube-apiserver:v1.17.3
kube-proxy:v1.17.3
kube-controller-manager:v1.17.3
kube-scheduler:v1.17.3
coredns:1.6.5
etcd:3.4.3-0
pause:3.1
)
for imageName in ${images[@]}; do
  docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done

# 可执行权限
chmod 777 mast.sh
# 执行下载镜像
sh mast.sh

二、Master节点初始化

# 初始化master节点
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

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

# 部署网络插件(部署过程中拉取镜像可能卡住,可手动pull 镜像)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

三、单机版K8S解除master节点的污点

kubectl taint nodes --all node-role.kubernetes.io/master-

四、验证是否安装成功

root@devNode02:/home/caodaishi/daily-wallpaper/static/blog # kubectl get po -n kube-system
NAME                                    READY   STATUS    RESTARTS   AGE
coredns-7f9c544f75-2gxgq                1/1     Running   0          117m
coredns-7f9c544f75-9qv2q                1/1     Running   0          117m
etcd-vm-4-9-centos                      1/1     Running   0          117m
kube-apiserver-vm-4-9-centos            1/1     Running   0          117m
kube-controller-manager-vm-4-9-centos   1/1     Running   0          117m
kube-flannel-ds-gvxhl                   1/1     Running   0          102m
kube-proxy-9nv75                        1/1     Running   0          117m
kube-scheduler-vm-4-9-centos            1/1     Running   0          117m

都Runing起来就成功了!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值