Ubuntu16.04搭建kubernetes v1.11.2集群记录

一.系统环境和网络配置

集群环境:OS为ubuntu16.04,kubernetes版本为kubernetes v1.11.2,docker版本为17.03.3

集群节点说明:

 Master节点node1节点node2节点
主机名k8s-masterk8s-node1k8s-node2
IP10.0.0.10510.0.0.10610.0.0.107

 

 

 

 

1.配置网络

1)修改主机名

sudo vi /etc/hostname

master节点输入:k8s-master

node1节点输入:k8s-node1

node2节点输入:k8s-node2

2)配置IP与主机名的映射关系,三节点配置相同。

sudo vi /etc/hosts

加入:

10.0.0.105      k8s-master
10.0.0.106      k8s-node1
10.0.0.107      k8s-node2

配置好后如下:

2.原始的ubuntu系统更新apt源时可能出现错误,注释cdrom行

sudo vi /etc/apt/sources.list

注释如下行:

#deb cdrom:[Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)]/ xenial main restricted

二.各节点公共组件安装

三个节点上同时执行如下操作。

1.安装docker

由于是用Kubernetes管理docker ,docker的版本要兼容kubernetes,kubernetes1.11.2支持的docker最高版本为17.03,尽量选择高版本docker。

sudo apt-get update #更新源
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common #安装前准备
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - #下载docker秘钥
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #添加docker源到仓库
sudo apt-get -y update #更新仓库

查看可用docker版本

apt-cache madison docker-ce

选择17.03.3版本docker安装

sudo apt install -y docker-ce=17.03.3~ce-0~ubuntu-xenial #安装docker
sudo systemctl enable docker #设置docker开机自启动

2.安装k8s公共组件

sudo apt-get update && apt-get install -y apt-transport-https 
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - #下载k8s秘钥
sudo cat <<EOF >/etc/apt/sources.list.d/kubernetes.list #添加k8s源到仓库
>deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
>EOF  
sudo apt-get update #更新

查看可用k8s版本

 sudo apt-cache madison kubelet

安装V1.11.2版本

sudo apt install -y kubelet=1.11.2-00 kubeadm=1.11.2-00 kubectl=1.11.2-00

3.下载k8s需要的通用镜像

查看需要的镜像:

kubeadm config images list

使用anjia的镜像源下载镜像,编写pull.sh脚本如下:

#!/bin/bash
KUBE_VERSION=v1.11.3
KUBE_PAUSE_VERSION=3.1
ETCD_VERSION=3.2.18
DNS_VERSION=1.1.3
username=anjia0532

images="google-containers.kube-proxy-amd64:${KUBE_VERSION} 
google-containers.kube-scheduler-amd64:${KUBE_VERSION} 
google-containers.kube-controller-manager-amd64:${KUBE_VERSION} 
google-containers.kube-apiserver-amd64:${KUBE_VERSION} 
pause:${KUBE_PAUSE_VERSION} 
etcd-amd64:${ETCD_VERSION} 
coredns:${DNS_VERSION}
"

for image in $images
do
    docker pull ${username}/${image}
    docker tag ${username}/${image} k8s.gcr.io/${image}
    #docker tag ${username}/${image} gcr.io/google_containers/${image}
    docker rmi ${username}/${image}
done

unset ARCH version images username

docker tag  k8s.gcr.io/google-containers.kube-apiserver-amd64:${KUBE_VERSION}   k8s.gcr.io/kube-apiserver-amd64:${KUBE_VERSION}
docker rmi k8s.gcr.io/google-containers.kube-apiserver-amd64:${KUBE_VERSION}
docker tag  k8s.gcr.io/google-containers.kube-controller-manager-amd64:${KUBE_VERSION}  k8s.gcr.io/kube-controller-manager-amd64:${KUBE_VERSION}
docker rmi k8s.gcr.io/google-containers.kube-controller-manager-amd64:${KUBE_VERSION}
docker tag  k8s.gcr.io/google-containers.kube-scheduler-amd64:${KUBE_VERSION}  k8s.gcr.io/kube-scheduler-amd64:${KUBE_VERSION}
docker rmi k8s.gcr.io/google-containers.kube-scheduler-amd64:${KUBE_VERSION}
docker tag k8s.gcr.io/google-containers.kube-proxy-amd64:${KUBE_VERSION}   k8s.gcr.io/kube-proxy-amd64:${KUBE_VERSION}
docker rmi k8s.gcr.io/google-containers.kube-proxy-amd64:${KUBE_VERSION}

执行pull.sh脚本 ./pull.sh

4.关闭交换分区

如果不关闭交换分区,后续安装会报错。

sudo swapoff -a #暂时关闭

上述命令是暂时关闭,节点关机重启后需要再次手动关闭。

三.Master节点初始化配置

在master节点上执行如下操作。

1.初始化

sudo kubeadm init   --kubernetes-version=v1.11.3   --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address 10.0.0.105

--kubernetes-version 用来指定版本
--pod-network-cidr 用于后期采用flannel作为网络组建而准备
--apiserver-advertise-address  如果机器上只有单个网卡,可以不进行指定

初始化成功后会有如下信息输出:

Your Kubernetes master has initialized successfully!

 To start using your cluster, you need to run (as a regular user):

   mkdir -p $HOME/.kube
   sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
   sudo chown $(id -u):$(id -g) $HOME/.kube/config
 
 You should now deploy a pod network to the cluster.
 Run "kubectl apply -f [podnetwork].yaml" with one of the addon options listed at:
   http://kubernetes.io/docs/admin/addons/
 
 You can now join any number of machines by running the following on each node
 as root:
 
   kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>

2.配置kubectl命令行工具

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

另外可添加kubrctl命令自动补全功能:

echo "source <(kubectl completion bash)" >> ~/.bashrc

3.安装Pod网络组件

wget https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml

在master节点执行上述操作后,可使用如下命令查看操作是否正常:

kubectl get cs

四.Node节点加入集群

在node1和node2节点上执行如下操作。

1.加载内核模块

modprobe ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh

2.join命令将本节点加入k8s集群

加入kubenetes集群,执行的是kubeadm初始化最后显示的token部分

sudo kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>

可执行如下命令检测节点是否成功加入:

kubectl get nodes

正常如下:

查看各节点上的服务是否正常运行:

kubectl get pod --all-namespaces -o wide

node节点正常加入后,可以看到node节点上运行着proxy和flannel两个服务。

参考:https://www.cnblogs.com/sumoning/p/9718854.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu 16.04是一种常用的Linux操作系统,而Hadoop是一个用于分布式存储和处理大规模数据的开源框架。在Ubuntu 16.04搭建伪分布式Hadoop环境可以用于学习和测试目的。 以下是搭建伪分布式Hadoop环境的步骤: 1. 安装Java:首先确保已经安装了Java Development Kit (JDK)。可以通过以下命令安装OpenJDK: ``` sudo apt-get update sudo apt-get install openjdk-8-jdk ``` 2. 下载Hadoop:从Hadoop官方网站下载最新版本的Hadoop压缩包,并解压到指定目录。可以使用以下命令进行解压: ``` tar -xzvf hadoop-x.x.x.tar.gz ``` 3. 配置环境变量:编辑`~/.bashrc`文件,并添加以下内容: ``` export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$HADOOP_HOME/bin ``` 4. 配置Hadoop:进入Hadoop的安装目录,编辑`etc/hadoop/core-site.xml`文件,添加以下内容: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 然后编辑`etc/hadoop/hdfs-site.xml`文件,添加以下内容: ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` 5. 格式化HDFS:运行以下命令来格式化HDFS: ``` hdfs namenode -format ``` 6. 启动Hadoop:运行以下命令启动Hadoop: ``` start-dfs.sh start-yarn.sh ``` 7. 验证Hadoop:在浏览器中访问`http://localhost:50070`,可以看到Hadoop的Web界面。 以上是在Ubuntu 16.04搭建伪分布式Hadoop环境的基本步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值