k8s在ubuntu20.x下安装流程

页尾

0.前言

教程适用范围:在单节点测试/开发环境安装k8s

建议用root用户安装

一、 k8s Minikube方式安装流程
1.1.切换apt源
1.2.docker安装
2.1 minikube方式安装


文章目录

  • 0.前言
    • @[toc]
  • 1.Ubuntu20 基础环境搭建
    • 1.1.切换apt源 [华为云](https://mirrors.huaweicloud.com/home/)
    • 1.2.docker安装
    • 1.3.etcd 单节点安装
    • 1.4.go安装
  • 2.k8s安装
    • 2.1.minikube方式安装

1.Ubuntu20 基础环境搭建

1.1.切换apt源 华为云

# 1、备份配置文件
cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
# 2、修改源地址
sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
# 3、执行sudo apt update 更新索引

1.2.docker安装

至少 Docker 1.8.3+. 。确保Docker守护进程一直运行,并确保能交互(比如docker ps)。一些Kubernetes组件需要root权限运行,这样这些组件才能和Docker正常、良好地工作。

# 1、如何安装过先删除再安装依赖
apt-get remove docker docker-engine docker.io containerd runc
apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
2、信任Docker的GPG公钥:
curl -fsSL https://repo.huaweicloud.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 3、添加软件仓库
--Amd64 架构计算机
add-apt-repository "deb [arch=amd64] https://repo.huaweicloud.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
--Arm 树莓派或其他Arm架构计算机
echo "deb [arch=armhf] https://repo.huaweicloud.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
# 4、更新索引并安装
apt-get update
apt-get install docker-ce   # 默认安装最新稳定版本
# 5、测试hello word 会打印一句话并退出
service docker start 
docker run hello-world
# 6、docker配置国内镜像源(有外网不用考虑)
# Docker中国区官方镜像 https://registry.docker-cn.com
# 网易镜像 http://hub-mirror.c.163.com
# 中国科技大学 https://docker.mirrors.ustc.edu.cn
# 腾讯镜像 https://mirror.ccs.tencentyun.com
vim /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://registry.docker-cn.com",
        "https://mirror.ccs.tencentyun.com"
     ]
}
service  docker restart
docker info # 查看是否配置成功

参考地址:dcker常用命令 docker官网地址

如果采用minikube方式安装k8s请直达 2.1 minikube方式安装

1.3.etcd 单节点安装

你需要配置 etcd 到环境变量,请确保安装 etcd 并且正确配置到 $PATH中,不用启动。

# 1、下载解压并安装
mkdir /data
ETCD_VER=v3.5.4
curl -L https://github.com/etcd-io/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz 
tar -zxvf etcd-${ETCD_VER}-linux-amd64.tar.gz -C /data/
cd /data && mv etcd-${ETCD_VER}-linux-amd64/ etcd
# 2、创建配置目录和数据目录
cd /data/etcd && sudo mkdir data conf
# 3、创建配置文件  [配置详解](https://zhuanlan.zhihu.com/p/383499555)
vim /data/etcd/conf/etcd.conf
ETCD_NAME="default"
ETCD_DATA_DIR="/data/etcd/data"
ETCD_WAL_DIR="/data/etcd/data"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379,http://127.0.0.1:2379"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://0.0.0.0:2380,http://127.0.0.1:2380"
ETCD_ENABLE_V2="true"
# 4、注册成一个服务
vim /usr/lib/systemd/system/etcd.service
[Unit]
Description=etcd service
Documentation=https://github.com/etcd-io/etcd
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
User=root
Type=notify
EnvironmentFile=/data/etcd/conf/etcd.conf
WorkingDirectory=/data/etcd
ExecStart=/data/etcd/etcd
Restart=always
RestartSec=10s
LimitNOFILE=65536

[Install]
WantedBy=multi-user.targe

# 加载配置
systemctl daemon-reload

# 5、配置环境变量
sudo vim /etc/profile
PATH=$PATH:/data/etcd

#刷新环境变量
source /etc/profile

# 6、启动测试
systemctl start etcd
systemctl status etcd
systemctl stop etcd

参考地址: ETCD单点部署 ETCD 简介 + 使用

1.4.go安装

go 版本至少 1.4+,请确保安装好go并配置好 $PATH

# 1、下载并解压缩 https://studygolang.com/dl/golang/go1.18.3.linux-amd64.tar.gz
curl -L https://studygolang.com/dl/golang/go1.18.3.linux-amd64.tar.gz 
tar -zxvf go1.18.3.linux-amd64.tar.gz -C /opt
# 2、配置环境变量
vim /etc/profile
export GOROOT=/opt/go
PATH=$PATH:$GOROOT/bin

source /etc/profile
#测试是否安装成功
go version
# 3、配置国内源
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
#查看配置
go env

2.k8s安装

2.1.minikube方式安装

注1:minikube不能在root用户下安装,否则会报错

# 1、创建一个minikube用户
adduser minikube
passwd minikube
gpasswd -a minikube docker # 将用户添加到docker组-->gpasswd -a 用户名 用户组
usermod -aG sudo minikube # 给用户添加sudo权限-->usermod -aG sudo 用户名
su minikube - # 切换到minikube用户
newgrp - docker # 将当前用户切到docker组
# 2、下载并且安装
curl -L https://github.com/kubernetes/minikube/releases/download/v1.24.0/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
#查看是否安装成功
minikube version
#安装
minikube start --driver=docker --registry-mirror=https://registry.docker-cn.com,https://shraym0v.mirror.aliyuncs.com --embed-certs=true --image-mirror-country=cn --image-repository=auto
# 参数说明 可以通过minikube start --help查看其它参数的详细说明,这里说明上面使用的参数
# minikube start:启动一个本地单节点kubernetes集群。
# --driver=docker:指定驱动为docker,默认为自动检测(virtualbox, vmwarefusion, hyperv, vmware, docker, ssh)中的一个。
# --registry-mirror=https://registry.docker-cn.com:使用国内的镜像地址来提高拉取镜像的速度,可以设置多个用,分割即可。
# --embed-certs=true:如果为true,将在kubeconfig中嵌入证书,默认为false,在kubeconfig中将以绝对路径的方式读取证书文件。
# --image-mirror-country=cn:需要使用的镜像的国家/地区代码,留空以使用全球代码,对于中国大陆用户,请将其设置为 cn。
#--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers:设置用来拉取 Kubernetes 集群所需镜像的仓库,如果无法访问gcr.io可以设置为 "auto" 让minikube 为你自动选择可以访问的镜像仓库
#kubernetes-version=v1.15.10 指定k8s安装的版本
# 3、安装并配置kubectl
minikube kubectl -- get po -A
alias kubectl="minikube kubectl --" # 设置别名
#查看安装情况
kubectl version --client 
# 4、测试程序
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get services # 查看部署的服务
# 访问当前服务进行端口转发
kubectl port-forward service/hello-minikube 7080:8080 
# 新启一个窗口访问服务
curl http://127.0.0.1:7080

参考地址: minikube官网文档 在linux下安装minikube

回到顶部

你可能感兴趣的:(docker,容器,运维)