前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装K8S1.23集群

安装K8S1.23集群

作者头像
Chester Chen
修改2022-08-18 15:14:14
4310
修改2022-08-18 15:14:14
举报
文章被收录于专栏:chester技术分享chester技术分享

官方文档:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

安装条件

  1. 多台Linux机器 CentOS7
  2. 2G以上RAM,2个以上CPU
  3. 集群网络互通,可访问外网
  4. 关闭防火墙,关闭swap分区

准备安装环境

node

IP

k8s-master

192.168.43.111

k8s-node1

192.168.43.112

k8s-node2

192.168.43.113

开始安装

以下内容在三台机器上安装
关闭防火墙
代码语言:javascript
复制
systemctl stop firewalld && systemctl disable firewalld

关闭selinux
代码语言:javascript
复制
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时

关闭swap
代码语言:javascript
复制
swapoff -a  # 临时

vi /etc/fstab  # 永久

设置主机名
代码语言:javascript
复制
hostnamectl set-hostname <hostname>

添加hosts
代码语言:javascript
复制
cat >> /etc/hosts << EOF
192.168.43.111 k8s-master
192.168.43.112 k8s-node1
192.168.43.113 k8s-node2
EOF

允许 iptables 检查桥接流量
代码语言:javascript
复制
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sudo sysctl --system

安装Docker

代码语言:javascript
复制
yum install wget -y
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce
systemctl enable docker && systemctl start docker

配置Docker
代码语言:javascript
复制
cat > /etc/docker/daemon.json << EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "registry-mirrors": ["https://vydiw6v2.mirror.aliyuncs.com"]
 }
EOF

systemctl restart docker

安装kubeadm,kubelet和kubectl

添加阿里yum源

代码语言:javascript
复制
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF


安装
代码语言:javascript
复制
sudo yum install -y kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0 --disableexcludes=kubernetes
sudo systemctl enable --now kubelet


以下内容在master机器上安装

初始化master

代码语言:javascript
复制
https://kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/
kubeadm init \
--apiserver-advertise-address=192.168.43.111 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all

vi /etc/profile
export KUBECONFIG=/etc/kubernetes/admin.conf
source /etc/profile
代码语言:javascript
复制


验证
kubectl get nodes


以下内容在node机器上安装
加入node

执行master init之后的join命令加入node

代码语言:javascript
复制
kubeadm join 192.16...........

重新获取join命令

代码语言:javascript
复制
kubeadm token create --print-join-command

在master上安装容器网络

https://kubernetes.io/zh/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model

代码语言:javascript
复制
wget https://projectcalico.docs.tigera.io/manifests/tigera-operator.yaml --no-check-certificate
wget https://projectcalico.docs.tigera.io/manifests/custom-resources.yaml --no-check-certificate
代码语言:javascript
复制
修改pod网络calicoNetwork
代码语言:javascript
复制
kubectl create -f tigera-operator.yaml
kubectl create -f custom-resources.yaml

验证集群查看pod

代码语言:javascript
复制
kubectl get pods -n kube-system
kubectl get nodes -o wide

测试集群

代码语言:javascript
复制
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 chester技术分享 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装条件
  • 准备安装环境
    • 以下内容在三台机器上安装
      • 关闭防火墙
        • 关闭selinux
          • 关闭swap
            • 设置主机名
              • 添加hosts
                • 允许 iptables 检查桥接流量
                • 安装Docker
                  • 配置Docker
                  • 安装kubeadm,kubelet和kubectl
                  • 初始化master
                  • 执行master init之后的join命令加入node
                  • 在master上安装容器网络
                  • 测试集群
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档