Ubuntu 18.04 虚拟机组建k8s集群(一主一从)

0、系统安装

镜像下载 与 虚拟机安装:https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso

1、准备工作

// 关闭交换空间:
swapoff -a     // 临时关闭
vi /etc/fstab  // 永久关闭
/*用#号 屏蔽掉 swap 那一行*/
// 主机名等在虚拟机创建时已经设置完毕
hostnamectl set-hostname k8s-master
// 设置hosts地址解析
vim /etc/hosts
192.168.253.8 k8s-master
192.168.253.11 k8s-node01
192.168.253.12 k8s-node02
192.168.253.21 k8s-Edge01
192.168.253.22 k8s-Edge02
// 换源
cp /etc/apt/sources.list /etc/apt/sources.list.backup // 官方源备份
apt install -y vim && vim /etc/apt/sources.list    // 插入阿里源
/*
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
*/
sudo apt update

2、软件环境(docker的安装)

(
cat <<EOF
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
EOF
) > /etc/apt/sources.list.d/docker.list
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
apt update
apt -y install docker-ce-cli=5:18.09.9~3-0~ubuntu-bionic
apt-mark hold docker-ce-cli
apt -y install docker-ce=5:18.09.9~3-0~ubuntu-bionic // containerd.io 自动安装
apt-mark hold docker-ce containerd.io

docker安装完成后,使用docker info 查看生成信息,着重检查一下几点:

Cgroup Driver: systemd
Storage Driver: overlay2
    
如下程序可以对上述配置进行设置
# 创建或替换 /etc/docker/daemon.json 以启用 cgroup 的 systemd 驱动
$ sudo cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

// 配置完后重启docker
systemctl daemon-reload
systemctl restart docker
// 注意:执行docker info无报错后发可往下执行!

3、正式安装k8s

(1)安装K8s相关软件

// 创建kubernetes的repo
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
// 添加密钥
sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
// 添加国内下载源,注意受限于版本限制,这里的xenial莫要去更改它!!
sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF
// 更新安装包信息
sudo apt-get update
// 查看当前环境下合适的安装版本
apt-cache madison kubelet
// 安装指定版本的K8S
apt-get install -y kubelet=1.15.12-00 kubeadm=1.15.12-00 kubectl=1.15.12-00
// 为保证项目中其他模块不受影响,此处对K8s版本进行锁定,以避免误操作使其版本发生变化
apt-mark hold kubelet=1.15.12-00 kubeadm=1.15.12-00 kubectl=1.15.12-00
// 设置开机自启动
systemctl enable kubelet && sudo systemctl start kubelet
// 截至目前虽然已安装好软件,当还无法部署,因为国内网络原因需要使用一些技巧拉取一下部署镜像!

(2)拉取k8s部署镜像

// 本文给大家提供了下载好的镜像文件
链接:https://pan.baidu.com/s/18QGGi-s3uTstRBQfVpQEQA
提取码:g378

// 查询当前环境需要的镜像
kubeadm config images list --kubernetes-version=v1.15.12
/*
系统输出如下:
	k8s.gcr.io/kube-apiserver:v1.15.12
	k8s.gcr.io/kube-controller-manager:v1.15.12
	k8s.gcr.io/kube-scheduler:v1.15.12
	k8s.gcr.io/kube-proxy:v1.15.12
	k8s.gcr.io/pause:3.1
	k8s.gcr.io/etcd:3.3.10
	k8s.gcr.io/coredns:1.3.1
*/
// 由于k8s.gcr.io、quay.io等被墙,相关镜像先再其他仓库下载,然后再重打标签进行使用
镜像下载方法:
可直接在PC上下载,如果PC能FQ当然最好不过了,不过不FQ也能下
官网镜像网址:   https://hub.docker.com/
docker tag gcmirrors/kube-apiserver-amd64:v1.15.12 k8s.gcr.io/kube-apiserver:v1.15.12

// 下载好后,按照txt文档对镜像进行导入,并重新打上官方标签
docker load < flanneld-v0.12.0-amd64.docker
// 更多细节可参考这篇博客:
https://www.cnblogs.com/embedded-linux/p/10776221.html

(3)k8s-Master节点部署

// 以上步骤执行完后即可开始进行k8s的部署
先生成一个引导令牌来验证加入集群的节点
TOKEN=$(sudo kubeadm token generate)
echo $TOKEN
// 初始化主节点
sudo kubeadm init --token=${TOKEN} --kubernetes-version=v1.15.12 --pod-network-cidr=10.244.0.0/16
// 创建成功会给出如下提示:
/*
Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following 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 options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.253.8:6443 --token yh4w3s.sdbg5np6v3reno5m \
    --discovery-token-ca-cert-hash sha256:3197f454f00883d7e0d1caa180c35ef2b42e20d414c38ac040a5a148598d105d 
*/

初始化成功后,按照文中提示,首先执行以下语句:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config  //若当前用户不是root用户需要执行

上面语句执行完后,现在执行kubectl get nodes,会发现master节点并不是ready状态,原因是还没初始化节点网络,

链接:https://pan.baidu.com/s/1hjcMa5eM-CVDliFGNhHdiA 提取码:3udu

可执行下面语句进行镜像导入
docker load < flanneld-v0.12.0-amd64.docker
// 导入后,执行下面语句初始化节点网络
kubectl apply -f kube-flannel.yml
// 初始化成功后,再执行
kubectl get nodes
// 此时,master节点已成ready状态

如果kubeadm 生成的token过期后,此时集群需要增加节点则执行如下语句:

重新生成密钥:
kubeadm token create

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null |
openssl dgst -sha256 -hex | sed ‘s/^.* //’

kubeadm join --token aa78f6.8b4cafc8ed26c34f --discovery-token-ca-cert-hash sha256:0fd95a9bc67a7bf0ef42da968a0d55d92e52898ec37c971bd77ee501d845b538 172.16.6.79:6443 --skip-preflight-checks

截止到此处,k8s的master节点已部署完成。

(4)k8s-node节点部署

node节点只需要执行master节点自动生成的注册语句即可加入master集群

kubeadm join 192.168.253.8:6443 --token yh4w3s.sdbg5np6v3reno5m \
    --discovery-token-ca-cert-hash sha256:3197f454f00883d7e0d1caa180c35ef2b42e20d414c38ac040a5a148598d105d 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于使用 VMware 在 Ubuntu 18.04 上创建虚拟的方法,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了 VMware Workstation 或 VMware Player。如果您没有安装,可以前往 VMware 官方网站下载并安装适用于 Ubuntu 的版本。 2. 安装完成后,启动 VMware Workstation 或 VMware Player。 3. 在软件界面中,点击 "Create a New Virtual Machine"(创建新虚拟)选项。 4. 在虚拟创建向导中,选择 "Typical"(典型设置)作为创建类型。 5. 接下来,选择适当的 Ubuntu 版本作为您的客户操作系统。在版本列表中,可能会有直接的 Ubuntu 18.04 选项可供选择。如果没有,请选择最接近 Ubuntu 18.04 的版本。 6. 配置虚拟的名称和存储位置。 7. 在设置虚拟的硬件部分,根据您的需要选择适当的选项,如内存大小、处理器等。 8. 在配置网络部分,选择适当的网络连接类型,如 NAT(网络地址转换)、桥接模式等。 9. 确认设置并完成虚拟创建过程。 10. 下一步是安装 Ubuntu 18.04 操作系统。在虚拟启动之前,您需要指定一个 Ubuntu 18.04 的 ISO 镜像文件。 11. 启动虚拟,并按照正常的 Ubuntu 安装过程进行操作。 12. 完成安装后,您将能够在 VMware 中运行 Ubuntu 18.04 虚拟。 希望这些步骤能帮助您成功在 VMware 中创建 Ubuntu 18.04 虚拟!如果您有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值