Ubuntu 20.04上搭建基于Kind的Kubernetes集群

Ubuntu 20.04上搭建基于Kind的Kubernetes集群

参考文档

基于你提供的信息和特定要求,这是一套详细的步骤用于在Ubuntu 20.04服务器上安装Docker,配置阿里云Docker源,安装kubectl,以及使用Kind创建一个Kubernetes集群。此教程假设你具备sudo权限,并且你的服务器连接互联网。

安装 Docker

  1. 使apt支持HTTPS传输

    sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
    
  2. 添加Docker官方GPG公钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    #使用阿里云
    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
  3. 将阿里云的Docker存储库添加到系统的APT源

    sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable"
    echo "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable" >> /etc/apt/sources.list
    
  4. 更新APT包列表

    sudo apt update
    
  5. 安装 Docker CE

    sudo apt install -y docker-ce
    
  6. 配置Docker使用阿里云镜像

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
        "registry-mirrors": ["https://nol6uuul.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  7. 检查Docker运行状态

    systemctl status docker
    

安装 kubectl

  1. 安装必要的软件以支持HTTPS源

    sudo apt install apt-transport-https ca-certificates -y
    
  2. 添加阿里云的Kubernetes源

    echo 'deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main' | sudo tee -a /etc/apt/sources.list
    curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
    sudo apt update
    
  3. 安装kubectl

    sudo apt-get install -y kubectl
    
  4. 配置命令行自动补全(可选):

    sudo apt install bash-completion -y
    echo 'source <(kubectl completion bash)' >>~/.bashrc
    echo 'alias k=kubectl' >>~/.bashrc
    echo 'complete -F __start_kubectl k' >>~/.bashrc
    source ~/.bashrc
    

安装 Kind

  1. 下载并安装 Kind
    根据你的操作系统架构选择合适的下载命令:

    # For AMD64 / x86_64
    curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
    chmod +x ./kind
    sudo mv ./kind /usr/local/bin/kind
    

使用 Kind 创建 Kubernetes 集群

  1. 创建集群配置文件 (cluster.yaml):

    cd ~
    vim cluster.yaml
    
    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes:
    - role: control-plane
      extraPortMappings:
      - containerPort: 31000
        hostPort: 31000
        protocol: tcp
    - role: worker
    - role: worker
    - role: worker
    
    #**注意: ** 因为 kind 搭建的集群也是容器, 我们要访问容器的服务, 我们需要把集群的 Service 暴露为 NodePort 类型进行访问, (NodePort 范围30000~32767)
    
  2. 使用配置文件创建集群

    kind create cluster --config cluster.yaml --name 1c3w
    

    补充1

    可能会遇到当前用户没有权限访问Docker守护进程。这通常是因为当前用户不在Docker用户组内。你可以将当前用户添加到Docker组来解决这个问题,这样你就不需要每次使用Docker命令时都加上sudo

    执行以下命令将当前用户添加到Docker用户组:

    sudo usermod -aG docker $USER
    

    完成后,你需要注销并重新登录,或者可以通过执行新的shell会话来刷新用户组设置:

    newgrp docker
    

    添加用户到Docker组并重新登录后,再次尝试创建Kind集群。如果问题依然存在,请确保Docker服务正在运行:

    sudo systemctl status docker
    

    如果Docker没有运行,可以使用以下命令启动它:

    sudo systemctl start docker
    

    image-20240622091346154

    补充2

    如果集群部署失败,就手动拉群镜像,参考文档

    image-20240622100417466

    image-20240622100524485

    image-20240622100619459

  3. 验证集群状态

    kubectl cluster-info --context kind-1c3w
    kubectl get nodes
    

image-20240622091442210

image-20240622091746708

按照上述步骤执行,你将在你的Ubuntu服务器上成功安装Docker和kubectl,并且使用Kind创建了一个Kubernetes集群。这样的配置非常适合开发和测试环境,以及学习Kubernetes的基本操作。

创建 service

# 创建一个 nginx 的 deploy 测试服务
$ kubectl create deploy nginx --image=nginx

# 冗余部署实现高可用
$ kubectl scale deployment nginx --replicas 3

# 暴露服务
$ kubectl expose deployment nginx --name nginx --port=80 --target-port=80 --type=NodePort

# 修改 NodePort 端口为 31000 让主机能够访问
$ kubectl edit svc nginx
......
  ports:
  - nodePort: 31000  # 修改
    port: 80
    protocol: TCP
    targetPort: 80
....

$ kubectl get svc
NAME         TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1     <none>        443/TCP        45m
nginx        NodePort    10.96.56.39   <none>        80:31000/TCP   11m

验证服务

$ curl localhost:31000

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

也可在浏览器输入<虚拟机 ip>:31000

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Ubuntu 20.04 Hadoop集群搭建的步骤如下: 1. 安装Java环境:在Ubuntu 20.04上安装Java环境,可以使用OpenJDK或Oracle JDK。 2. 下载Hadoop:从官方网站下载Hadoop的最新版本。 3. 解压Hadoop:将下载的Hadoop压缩包解压到指定的目录下。 4. 配置Hadoop环境变量:将Hadoop的bin目录添加到系统的PATH环境变量中。 5. 配置Hadoop集群:编辑Hadoop的配置文件,包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml。 6. 格式化Hadoop文件系统:使用hadoop namenode -format命令格式化Hadoop文件系统。 7. 启动Hadoop集群:使用start-all.sh脚本启动Hadoop集群。 8. 测试Hadoop集群:使用Hadoop自带的例子程序测试Hadoop集群的运行情况。 以上是Ubuntu 20.04 Hadoop集群搭建的基本步骤,需要注意的是,在配置Hadoop集群时需要根据实际情况进行调整。 ### 回答2: Ubuntu20.04是我们常用的操作系统之一,搭建一个hadoop集群则是对数据处理效率的提升。下面分享我对Ubuntu20.04hadoop集群搭建的一些思路和方法。 1. 安装Ubuntu20.04系统 首先需要安装Ubuntu20.04操作系统,可通过官方网站进行下载安装。安装完成后,需要进行系统更新和配置。 2. 安装Java环境 Hadoop是Java语言编写的,因此需要先安装Java环境。使用apt-get命令进行安装,如下所示: sudo apt-get update sudo apt-get install default-jdk 安装完成后,可通过java -version命令验证是否安装成功。 3. 安装Hadoop 从官网下载最新版本的Hadoop,并解压至/home/username下,如下所示: tar -zxvf hadoop-x.x.x.tar.gz -C /home/username 配置hadoop-env.sh文件: cd /home/username/hadoop-x.x.x/etc/hadoop vi hadoop-env.sh 添加以下内容: export JAVA_HOME=/usr/lib/jvm/default-java export HADOOP_HOME=/home/username/hadoop-x.x.x export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 4. 配置hadoop集群 编辑core-site.xml文件: vi /home/username/hadoop-x.x.x/etc/hadoop/core-site.xml 添加以下内容: <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> 编辑hdfs-site.xml文件: vi /home/username/hadoop-x.x.x/etc/hadoop/hdfs-site.xml 添加以下内容: <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/username/hadoop-x.x.x/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/username/hadoop-x.x.x/hdfs/datanode</value> </property> </configuration> 编辑mapred-site.xml文件: cp /home/username/hadoop-x.x.x/etc/hadoop/mapred-site.xml.template /home/username/hadoop-x.x.x/etc/hadoop/mapred-site.xml vi /home/username/hadoop-x.x.x/etc/hadoop/mapred-site.xml 添加以下内容: <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> 编辑yarn-site.xml文件: vi /home/username/hadoop-x.x.x/etc/hadoop/yarn-site.xml 添加以下内容: <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> 5. 启动hadoop集群 启动hadoop集群前,需要格式化namenode(第一次启动): hdfs namenode -format 启动hadoop集群: cd /home/username/hadoop-x.x.x/sbin ./start-all.sh 6. 测试hadoop集群 在本地上传文件至hdfs,如下所示: hdfs dfs -put /path/to/local/file /path/to/hdfs/directory 查看上传文件: hdfs dfs -ls /path/to/hdfs/directory 删除上传文件: hdfs dfs -rm /path/to/hdfs/file 以上为Ubuntu20.04hadoop集群搭建的大致流程。需要注意的是,在实际搭建过程中,可能会遇到各种问题,需要耐心查找和解决。希望以上分享能对大家有所帮助。 ### 回答3: Hadoop集群是一个用于分布式数据存储和管理的解决方案,它可以处理大型数据集并提供高可用性和容错性。为了搭建一个成功的Hadoop集群,必须熟悉并且正确的安装配置Hadoop和Ubuntu20.04的环境。下面将会介绍如何在Ubuntu20.04搭建一个三节点的Hadoop集群。 步骤1:安装Java JDK Java JDK是运行Hadoop所必需的软件包之一。在Ubuntu20.04上,可以通过以下命令来安装它: ``` $ sudo apt install openjdk-8-jdk ``` 步骤2:从Apache Hadoop官网下载Hadoop 在Ubuntu20.04上,可以通过以下命令从Apache Hadoop官网上下载Hadoop,并将其解压到指定目录中。 ``` $ wget https://archive.apache.org/dist/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz $ tar -xzvf hadoop-2.10.1.tar.gz $ sudo mv hadoop-2.10.1 /usr/local/hadoop ``` 步骤3:编辑Hadoop配置文件 在安装完Hadoop后,需要编辑三个Hadoop的配置文件,将其配置为集群模式。在这里,将hbase-site.xml和hadoop-env.sh视为修改配置文件的例子,修改hadoop-env.sh如下: ``` $ export HADOOP_HOME=/usr/local/hadoop $ export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop $ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ $ export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 修改hbase-site.xml: ``` <configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> <description>a base for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://Master:9000</value> <description>The name of the default file system. Either the literal string "local" or a host:port for HDFS.</description> </property> </configuration> ``` 步骤4:配置SSH免密登录 在Hadoop集群中,各个节点之间经常需要互相连接,因此需要配置SSH免密登录,以避免频繁输入密码。以下是如何配置SSH免密登录的步骤: ``` $ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys ``` 此外,需要将密钥复制到所有其他的节点上,以实现节点之间的连接: ``` $ ssh-copy-id user@Host ``` 步骤5:启动Hadoop集群 在所有节点上都完成上述步骤后,即可通过以下命令来启动Hadoop集群: ``` $ start-dfs.sh $ start-yarn.sh ``` 分别启动HDFS和Yarn,这时应该可以在Web界面上看到正在运行的数据节点(Data Node)和节点管理器(Node Manager)。 对于Hadoop集群搭建,还有很多需要掌握的知识和工具,例如Hadoop的日志、开启HA,在资源管理上的配置等,建议在实践Hadoop集群搭建时多加尝试,并对不理解的概念和操作进行深入的学习。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值