ubuntu 20使用kubeadm安装k8s 1.26

步骤

机器:4核8G,root账号,可访问互联网

1、更新apt apt-get update
2、安装一些基本工具 apt-get install ca-certificates curl gnupg lsb-release net-tools apt-transport-https
3、ifconfig 获取ip,hostname获取主机名,若主机名不符合规范(比如有特殊字符,则使用hostnamectl set-hostname <hostname>修改)
4、更新hosts echo "<ip> <hostname>" >> /etc/hosts
5、mkdir -m 0755 -p /etc/apt/keyrings
6、装证书curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
7、声明软件源echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
7、更新aptapt-get update
8、安装docker和containerdapt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
​9、此时docker命令可用,crictl还不行
10、准备安装kubeadmcurl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/k8s.gpg
11、echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/k8s.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list > /dev/null
12、更新aptapt-get update
13、安装kubeadm apt-get install -y kubelet=1.26.1-00 kubeadm=1.26.1-00 kubectl=1.26.1-00
14、apt-mark hold kubelet kubeadm kubectl
15、vi /etc/crictl.yaml 编辑crictl配置,文件内容如下:

runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false

16、containerd使用配置。containerd config default > /etc/containerd/config.toml
17、修改containerd默认配置:

sed -i 's/registry.k8s.io\/pause:3.6/registry.aliyuncs.com\/google_containers\/pause:3.9/g' /etc/containerd/config.toml

sed -i 's/SystemdCgroup = true/SystemdCgroup = false/g' /etc/containerd/config.toml

`sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"`
`SystemdCgroup = true`

在这里插入图片描述
18、重启服务 systemctl restart containerd
19、禁用交换分区swapoff -a && sed -i 's/.*swap.*/#&/' /etc/fstab
20、编辑kubeadm启动文件,vi kubeadm.yaml

apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 10.199.1.18
  bindPort: 3389
nodeRegistration:
  criSocket: unix:///var/run/containerd/containerd.sock
  imagePullPolicy: IfNotPresent
  name: master
  taints: null
---  
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: "10.199.1.18:3389"
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: 1.26.0
networking:
  dnsDomain: cluster.local
  serviceSubnet: 10.199.0.0/12
scheduler: {}

21、启动kubeadmkubeadm init --config kubeadm.yaml
22、得到节点加入命令kubeadm join 10.199.1.18:6443 --token bejef4.ad5t4xzizj6u4hp7 \ --discovery-token-ca-cert-hash sha256:796613b40c4961b0f2dbb2cc1a5fea8d08782b681d31fbf66f445f1a2d510e60(token 24小时有效期,过期了可以使用kubeadm token create --print-join-command生成)
23、得到并执行下列三条命令(用于鉴权)
在这里插入图片描述

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

24、使用kubectl get nodes查看节点,看到状态是NotReady
在这里插入图片描述
25、使用kubectl describe node master查看节点详情
在这里插入图片描述
26、使用journalctl -f -u kubelet.service 查日志
27、编辑cni配置文件
vi /etc/cni/net.d/10-mynet.conf

{
    "cniVersion": "1.0.0",
    "name": "mynet",
    "type": "bridge",
    "bridge": "cni0",
    "isGateway": true,
    "ipMasq": true,
    "ipam": {
        "type": "host-local",
        "subnet": "10.22.0.0/16",
        "routes": [
            { "dst": "0.0.0.0/0" }
        ]
    }
}

vi /etc/cni/net.d/99-loopback.conf

{
    "cniVersion": "1.0.0",
    "name": "lo",
    "type": "loopback"
}

28、查看podskubectl get pods -n kube-system,至此master部署成功
在这里插入图片描述

参考文档​

1、安装docker和containerd:https://docs.docker.com/engine/install/ubuntu/

2、安装kubeadm:https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

3、安装后:https://time.geekbang.org/column/article/39724

4、CNI:https://www.jianshu.com/p/d446121dbfc2

5、https://www.bookstack.cn/read/kubernetes-1.26-zh/9cae0960d626dce4.md#%3Ccode%3EAPIEndpoint%3C/code%3E

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值