首页 > 系统相关 >Kubernetes 1.24 Ubuntu18.04安装

Kubernetes 1.24 Ubuntu18.04安装

时间:2023-03-18 16:34:57浏览次数:57  
标签:Kubernetes get apt etc crictl docker Ubuntu18.04 com 1.24

集群清单

角色 系统配置 IP 系统
Master 最低双核2G内存30G硬盘 192.168.56.130 Ubuntu18.04
Node 最低双核2G内存30G硬盘 192.168.56.129 Ubuntu18.04

一、初始化设置(所有节点都需执行)

1、配置静态IP

  1. #下载网络工具
  2. sudo apt-get install network-manager
  3. # 记住网卡名称
  4. ifconfig
  5. # 记住网关地址
  6. netstat -rn

打开vi /etc/netplan/00-installer-config.yaml文件,进行如下配置

  1. network:
  2.   renderer: NetworkManager
  3.   ethernets:
  4.   ens33:
  5.     dhcp4: false
  6.     dhcp6: false
  7.    addresses: [192.168.56.130/24] # 本机IP/掩码
  8.    gateway4: 192.168.56.2 # 网关
  9.    nameservers:
  10.      addresses: [8.8.8.8] # DNS地址,和网关一致,也能使用8.8.8.8或者144.144.144.144
  11. version: 2

配置完成后对其进行更新,并测试

  1. # 应用更改
  2. netplan apply
  3. # 测试是否成功
  4. ping www.baidu.com(如果不通,再执行一次netplan apply,或者更改DNS)

2、设置时区

  1. # 设置时区
  2. timedatectl set-timezone Asia/Shanghai
  3. # 设置校时服务
  4. apt-get install ntpdate
  5. ntpdate ntp.aliyun.com

3、关闭Selinux(Ubuntu默认没有安装,可跳过)

  1. setenforce 0
  2. sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

4、关闭swap(k8s官方不支持swap)

  1. swapoff -a
  2. sed -i 's/.*swap.*/#&/' /etc/fstab
  3. free -m

5、设置主机名

  1. cat /etc/hostname << EOF
  2. 192.168.56.130 master
  3. 192.168.56.129 node
  4. EOF

6、将桥接的 IPv4 流量传递到 iptables

  1. cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
  2. net.bridge.bridge-nf-call-iptables = 1
  3. net.bridge.bridge-nf-call-ip6tables = 1
  4. net.ipv4.ip_forward = 1
  5. EOF
  6. sysctl --system

7、关闭防火墙

  1. apt-get install iptables
  2. ufw disable
  3. sysctl --system

二、安装Container

1、下载apt仓库所需包

  1. # 更新apt包
  2. apt-get update
  3. # 安装
  4. apt-get -y install apt-transport-https ca-certificates curl software-properties-common

2、安装密钥

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

3、添加存储库

add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

4、更新,安装docker-ce

  1. # 更新
  2. apt-get -y update
  3. # 安装docker-ce
  4. apt-get -y install docker-ce

6、创建配置并启动

  1. mkdir /etc/docker
  2. # Setup daemon.
  3. cat > /etc/docker/daemon.json <<EOF
  4. {
  5.   "exec-opts": ["native.cgroupdriver=systemd"],
  6.   "log-driver": "json-file",
  7.   "log-opts": {
  8.   "max-size": "100m"
  9. },
  10. "registry-mirrors": ["https://e6vlzg9v.mirror.aliyuncs.com"]
  11. }
  12. EOF
  13. mkdir -p /etc/systemd/system/docker.service.d
  14. chmod 777 /var/run/docker.sock
  15. sed -i '/^disabled_plugins/d' /etc/containerd/config.toml
  16. systemctl restart containerd
  17. systemctl daemon-reload && service docker start && systemctl enable docker
  18. docker ps
  19. cat <<EOF> /etc/crictl.yaml
  20. runtime-endpoint: unix:///run/containerd/containerd.sock
  21. image-endpoint: unix:///run/containerd/containerd.sock
  22. timeout: 10
  23. debug: false
  24. EOF
  25. systemctl restart containerd
  26. systemctl daemon-reload && service docker start && systemctl enable docke
  27. crictl images

三、安装Kubernetes三剑客(kubelet、kubeadm、kubectl)

1、更新包并下载apt-transport-https

apt-get update && apt-get install -y apt-transport-https

2、配置镜像源并更新

  1. sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
  2. cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
  3. deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
  4. EOF
  5. apt-get update

3、安装指定版本的三剑客

apt-get install -y kubelet=1.24.0-00 kubeadm=1.24.0-00 kubectl=1.24.0-00

4、设置开机自,启动并查看状态

systemctl enable kubelet && systemctl start kubelet && systemctl status kubelet

四、初始化集群

        由于v1.24 版本的k8s 使用的是containerd。 docker load 和 ctr images import 都无效。所以通过手动拉取镜像的方式拉取所需镜像。(每台都执行)

  1. crictl pull docker.io/calico/cni:v3.24.0
  2. crictl pull docker.io/calico/kube-controllers:v3.24.0
  3. crictl pull docker.io/calico/node:v3.24.0
  4. crictl pull docker.io/library/nginx:latest
  5. crictl pull registry.aliyuncs.com/google_containers/pause:3.6
  6. crictl pull registry.aliyuncs.com/google_containers/coredns:v1.8.6
  7. crictl pull registry.aliyuncs.com/google_containers/etcd:3.5.3-0
  8. crictl pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.24.0
  9. crictl pull registry.aliyuncs.com/google_containers/kube-controller-manager:v1.24.0
  10. crictl pull registry.aliyuncs.com/google_containers/kube-proxy:v1.24.0
  11. crictl pull registry.aliyuncs.com/google_containers/kube-scheduler:v1.24.0
  12. crictl pull registry.aliyuncs.com/google_containers/pause:3.7
  13. ctr -n k8s.io i tag registry.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6

1、配置Master节点

(1)初始化集群

sudo kubeadm init --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.24.0 --ignore-preflight-errors=all -v5

(2)文件创建

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

(3)写入配置

  1. echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile
  2. source /etc/profile

(4)将admin.conf拷贝到其他节点的指定目录下

scp /etc/kubernetes/admin.conf user:xxx.xxx.xxx.xxx:/etc/kubernetes/

2、配置Node节点

(1)确认admin.conf已经拷贝到指定目录,并拥有足够权限,写入配置

  1. ll /etc/kubernetes/admin.conf
  2. echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile

(2)执行Master集群初始化后的命令,如果忘记可以在Master节点上执行“sudo kubeadm token create --print-join-command”命令,然后将输出复制到Node节点执行

sudo kubeadm join xxx --token xxxxx --discovery-token-ca-cert-hash sha256:xxxx -v 5

五、安装网络插件(Master上执行)

sudo curl https://docs.projectcalico.org/manifests/calico.yaml -O && kubectl apply -f calico.yaml

六、部署测试应用

1、在Master上执行kubectl get node,当Status显示为Ready时再执行下面语句,创建tomcat服务。

  1. kubectl create deployment tomcat --image=tomcat
  2. kubectl expose deployment tomcat --port=8080 --target-port=8080 --type=NodePort

2、执行“kubectl get pods”命令,当Status为Running且Ready为1/1时执行下面命令,确认端口为31423

  1. # 找到端口号
  2. root@master:~# kubectl get service
  3. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  4. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 34m
  5. tomcat NodePort 10.108.160.28 <none> 8080:31423/TCP 30m

3、在网页输入cluster IP+service port,进行访问。出现如下页面,则集群搭建成功

 

 

源地址: (82条消息) Kubernetes 1.24 Ubuntu18.04安装_ubuntu18.04 selinux查看是否安装_梦·D·的博客-CSDN博客

 

标签:Kubernetes,get,apt,etc,crictl,docker,Ubuntu18.04,com,1.24
From: https://www.cnblogs.com/colin88/p/17231045.html

相关文章

  • 带自定义Kubernetes资源验证器的开发人员护栏
    如果你的组织开始采用云原生技术,那么可能仍在研究如何将Kubernetes知识内部化并分发给团队的其他成员。这是一个非常普遍的问题。需求是明确的:为了高效工作并产生高质量的部......
  • 基于kubernetes构建jenkins+gitlab持续集成
    @目录安装jenkins安装gitlabjenkins连接gitlab配置Jenkins连接maven配置cicd本案例使用docker-compose来安装部署Jenkins和gitlab节点IPmaster192.168.200.44......
  • Kubernetes 集群介绍(一)
    部署方式变迁在服务部署上主要经历了三个历程:传统部署:互联网早期,会将服务直接部署到物理机上优点:简单,不需要其他技术的参与缺点:不能灵活定义资源使用边界,很难合理分配计算机......
  • k8s(Kubernetes)中yaml文件的各种 kind 类型
    k8syaml中文件内容一般有kind类型之分,每种类型有不同的功能(一般用---符号隔开)常见的kind类型1、EndpointsEndpoints可以把外部的链接到k8s系统中(可以理解为引用外部资......
  • 1. 初识Kubernetes
    WhatIsK8S狭义上讲,K8S是一个应用编排器。绝大部分情况下,它被用于 编排 容器化 的云原生微服务应用。具体的,它可以实现:自动化部署应用按需对应用进行扩容或缩容应......
  • Kubernetes组件介绍
    一、APIserver1、APIServer是Kubernetes集群的网关,是能够与etcd通信惟一入口(1)kube-controller-manager、kube-scheduler、kubelet、kube-proxy,以及后续部署的集群插件Co......
  • [kubernetes]Calico运行异常:dial tcp 10.96.0.1:443: connect: connection refused
    [kubernetes]Calico运行异常:dialtcp10.96.0.1:443:connect:connectionrefuseddingpwen于2022-04-2710:33:12发布5309收藏分类专栏:云原生web开发文章标签:ku......
  • 高可用的kubernetes集群安装
    一、架构设计二、集群规划 IP集群角色描述110.10.0.115keepalived虚拟IP虚拟IP,对10.10.0.15、10.10.0.29做keepalived110.10.0.15master、......
  • Ubuntu18.04下载nodejs
    下载nodejs参考链接官网下载源码官网:https://nodejs.org/中文网(推荐):http://nodejs.cn/可以下载自己想要的版本解压并做软连接tar-xvfnode-v10.15.3-linux-x64.ta......
  • Kubecost - Kubernetes 开支监控和管理
    ......