前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2.入门-K8s 集群环境搭建(docker+k8s)

2.入门-K8s 集群环境搭建(docker+k8s)

作者头像
AI码师
发布2024-04-10 11:08:05
2440
发布2024-04-10 11:08:05
举报

机器准备

机器名称

IP地址

内存

CPU

磁盘

k8s-master

192.168.64.60

4G

4

70G

k8s-node1

192.168.64.61

5G

4

70G

k8s-node2

192.168.64.62

5G

4

70G

安装Docker

所有机器都执行下面的操作

代码语言:javascript
复制
apt-get update
apt install -y docker.io
apt install -y docker-compose

# 配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://mu7j1zdf.mirror.aliyuncs.com"],
  "exec-opts": [ "native.cgroupdriver=systemd" ]
  ,"insecure-registries": ["192.168.2.99:9999"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

验证docker是否安装成功

代码语言:javascript
复制
docker info

安装K8s环境

  • 安装基础环境
代码语言:javascript
复制
apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
  • 配置k8s阿里云源
代码语言:javascript
复制
echo 'deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main' >>/etc/apt/sources.list.d/kubernetes.list
apt-get update -y

# 如果更新失败执行这条命令
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys '公钥编码'
  • 安装kubeadm、kubectl、kubelet
代码语言:javascript
复制
apt-get install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00
# 阻止自动更新(apt upgrade时忽略)。所以更新的时候先unhold,更新完再hold。
apt-mark hold kubelet kubeadm kubectl
  • 只在master节点执行初始化
代码语言:javascript
复制
# 192.168.64.60 替换成 master节点的IP
kubeadm init \
      --apiserver-advertise-address=192.168.64.60 \
      --image-repository registry.aliyuncs.com/google_containers \
      --kubernetes-version v1.23.6 \
      --service-cidr=10.88.0.0/12 \
      --pod-network-cidr=10.188.0.0/16
  • 初始完成后执行提示的命令
代码语言:javascript
复制
mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 其它节点加入的集群
代码语言:javascript
复制
# 直接在其它节点执行提示的加入命令就可以
需要替换成你们自己的.
kubeadm join 192.168.64.60:6443 --token bxbzeg.e83qcv4mrf2s61ok \
        --discovery-token-ca-cert-hash sha256:670134a70e9b4ddd244da92c25879fb700f965b618ca7fe93f98646c9d90946a
  • 验证集群状态 在master节点执行
代码语言:javascript
复制
kubectl get nodes
  • 复制配置,让其它节点也能运行kubectl
代码语言:javascript
复制
#在master节点执行
scp /etc/kubernetes/admin.conf root@k8s-node1:/etc/kubernetes
scp /etc/kubernetes/admin.conf root@k8s-node2:/etc/kubernetes
#在其它节点执行
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
  • 安装calico 网络插件
代码语言:javascript
复制
curl https://calico-v3-25.netlify.app/archive/v3.25/manifests/calico.yaml -O
sed -i 's#docker.io/##g' calico.yaml

kubectl apply -f calico.yaml
  • 最终验证
代码语言:javascript
复制
kubectl get pod -n kube-system

??

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-02,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 乐哥聊编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 机器准备
  • 安装Docker
  • 安装K8s环境
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com