【2.9.1】服务器安装 Linux中安装 kubernetes1.19 集群方式1中介绍了用kubeadm 工具快捷安装kubernetes集群。kubeadm工具安装会屏蔽很多细节。其难点存在于镜像的下载更新.
下面参照
https://www.cnblogs.com/xiangsikai/p/9995800.html
通过kubernetes二进制包安装。
- kubernetes二进制包:https://github.com/kubernetes/kubernetes
- kubernetes是基于GO语言开发的需要安装Go语言环境。
mkdir -p $GOPATH/src/k8s.io
cd $GOPATH/src/k8s.io
git clone https://github.com/kubernetes/kubernetes.git
cd kubernetes
make
image.png
image.png
这里借用 kubernetes工具包的脚本
https://pan.baidu.com/s/1xvAadiCZmxKs22Zpqw3VNQ
密码:pyjq
安装etcd存储
yum install etcd -y
vim /etc/etcd/etcd.conf
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379
image.png
systemctl enable etcd
systemctl restart etcd
image.png
netstat -antp | grep etcd
image.png
管理节点:
# 解压master包加入执行文件
unzip master.zip;chmod +x *
# 创建目录
mkdir /opt/kubernetes/{bin,cfg} -p
# 将压缩文件kube移动到bin目录下
mv kube-apiserver kube-controller-manager kube-scheduler kubectl /opt/kubernetes/bin
# cd /home/gopath/src/k8s.io/kubernetes/_output/local/bin/linux/amd64/
# mv kube-apiserver kube-controller-manager kube-scheduler kubectl /opt/kubernetes/bin
修改apiserver.sh、controller-manager.sh、scheduler.sh脚本文件
vim apiserver.sh
# Mster监听地址IP
MASTER_ADDRESS=${1:-"192.168.0.103"}
# ETCD数据库服务地址
ETCD_SERVERS=${2:-"http://192.168.0.103:2379"}
vim controller-manager.sh
# Mster监听地址IP
MASTER_ADDRESS=${1:-"192.168.0.103"}
vim scheduler.sh
# Mster监听地址IP
MASTER_ADDRESS=${1:-"192.168.0.103"}
运行kubernetes启动脚本 masterIP地址默认端口8080 加etcd地址
./apiserver.sh 192.168.0.103 http://192.168.0.103:2379
运行scheduler.sh调度脚本 加masterIP地址默认端口8080
./scheduler.sh 192.168.0.103
运行controller-manager.sh管理端控制脚本 加masterIP地址默认端口8080
./controller-manager.sh 192.168.0.103
将kubernetes添加到环境变量,并设置立即生效
echo "export PATH=$PATH:/opt/kubernetes/bin" >> /etc/profile
source /etc/profile
Node 运行节点
# 解压node包并加入执行文件
unzip node.zip;chmod +x *
# 将压缩文件kube移动到bin目录下
mkdir -p /opt/kubernetes/{bin,cfg}
将压缩文件kube移动到bin目录下
mv kubelet kube-proxy /opt/kubernetes/bin
# cd /home/gopath/src/k8s.io/kubernetes/_output/local/bin/linux/amd64/
# mv kubelet kube-proxy /opt/kubernetes/bin
修改脚本配置文件
vim kubelet.sh
# MASTER服务端地址
MASTER_ADDRESS=${1:-"192.168.0.103"}
# 本地工作节点地址
NODE_ADDRESS=${2:-"192.168.0.105"}
# DNS地址
DNS_SERVER_IP=${3:-"192.168.0.1"}
DNS_DOMAIN=${4:-"cluster.local"}
# 配置文件地址 主要用于连接API服务
KUBECONFIG_DIR=${KUBECONFIG_DIR:-/opt/kubernetes/cfg}
禁用所有的swap分区,不然启动会报错
swapoff -a
启动kubelet.sh管理本机运行容器生命周期服务脚本
# ./kubelet.sh master地址 本机地址 DNS地址
./kubelet.sh 192.168.0.103 192.168.0.105 192.168.0.1
启动网络代理proxy.sh脚本
# ./proxy.sh Master地址 本地地址
./proxy.sh 192.168.0.103 192.168.0.105
查看节点加入信息
kubectl get node
kubectl get componentstatus
kubectl version
网友评论