ubuntu 20使用kubeadm安装k8s 1.26
ubuntu kubeadm 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
更多推荐
所有评论(0)