首页 > 其他分享 >kubeadm安装kubernetes和istio记录

kubeadm安装kubernetes和istio记录

时间:2023-03-19 18:11:07浏览次数:46  
标签:kubernetes -- sudo istio apt kubeadm

周末两天想折腾下k8s和istio学习下。于是用虚拟机搭了一个ubuntu22.04的服务器。

国内、国内、国内环境

我一开始将ip固定成192.168.50.100了

一、使用kubeadm安装单机版的kubernetes

参考链接

Ubuntu 22.04 上安装 Kubernetes 1.24.3

1、修改主机名

要ping一下自己的机器名,如果返回127.0.0.1,请到 /etc/hosts修改成实际的IP地址

我的主机名是http://k8smaster.example.net

2、禁用内存交换以及添加内核设置(不是很明白为什么)

禁用内存交换

sudo swapoff -a

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

添加内核设置

sudo tee /etc/modules-load.d/containerd.conf<<EOF
overlay
br_netfilter
EOF

sudo modprobe overlay

sudo modprobe br_netfilter

sudo tee /etc/sysctl.d/kubernetes.conf<<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

sudo sysctl --system

3、安装containerd(取代docker作为容器运行时)

sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates

安装最新版containerd

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

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

sudo apt update

sudo apt install -y containerd.io

修改SystemdCgroup=true以及修改镜像地址

重启containerd
sudo systemctl restart containerd
开启自启动
sudo systemctl enable containerd

4、添加apt仓库(才能安装kubeadm)

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

sudo apt-add-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"

5、安装kubectl、kubeadm、kubelet

sudo apt update

sudo apt install -y kubelet kubeadm kubectl

sudo apt-mark hold kubelet kubeadm kubectl

6、kubeadm初始化安装

kubeadm version

sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --v=5 --control-plane-endpoint=192.168.50.100 --pod-network-cidr=10.244.0.0/16

--control-plane-endpoint= 需要改成自己的主机的地址,我的是192.168.50.100

--pod-network-cidr=10.244.0.0/16 是后面搭建成功后使用flannel分配子网的网段

按照返回结果修改下

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

默认不可以调度pod到master节点,通过

kubectl taint nodes --all node-role.kubernetes.io/master-
kubectl taint nodes --all node-role.kubernetes.io/control-plane-

修改master支持调度pod

除了coredns外的其他pod应该都是running

7、安装flannel

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

这里的kube-flannel配置的子网就是上面的网段

之后flannel应该就起来了,logs看下原因,是不是没有配置pod的cidr

二、安装istio

1、下载istio

地址Releases · istio/istio

不要下载最新的,找到对应k8s集群的兼容版本

解压后cp一份 bin目录下的istioctl到/usr/local/bin 目的是为了能使用istioctl

然后执行,安装istio

istioctl manifest apply --set profile=demo

会创建一个istio-system,里面有三个pod

cd samples/add-on

里面有grafana和prometheus

使用kubectl apply -f xxx可以安装。

安装之后需要修改svc类型为NodePort才能用宿主机访问

更细节的内容可以参考

Istio入门二--手把手教你使用Istio - 腾讯云开发者社区-腾讯云

欢迎交流沟通

标签:kubernetes,--,sudo,istio,apt,kubeadm
From: https://www.cnblogs.com/lgh344902118/p/17233828.html

相关文章

  • Kubernetes应用访问层扩展CRD接入Prometheus原理
    1、kubernetes扩展点kubernetes应用访问层扩展点:webhook、operator、aggregator、容器探针、启停回调、kubectl插件。kubernetes基础设施层扩展点:调度器扩展、存储插件、网......
  • 第一章 1.1.1节 Kubeadm安装K8S高可用集群
    1.1安装前必读请不要使用带中文的服务器和克隆的虚拟机。生产环境建议使用二进制的方式安装。文档中的IP地址要更换成自己的IP地址,要谨记!!!1.2基本环境配置kubeadm安......
  • Kubernetes学习之基础知识
    Kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它提供了许多功能,例如服务发现、负载均衡、自动伸缩、滚动更新等,使得运维人员可以轻松地......
  • Kubernetes 1.24 Ubuntu18.04安装
    集群清单角色系统配置IP系统Master最低双核2G内存30G硬盘192.168.56.130Ubuntu18.04Node最低双核2G内存30G硬盘192.168.56.129Ubuntu18.04一、......
  • 带自定义Kubernetes资源验证器的开发人员护栏
    如果你的组织开始采用云原生技术,那么可能仍在研究如何将Kubernetes知识内部化并分发给团队的其他成员。这是一个非常普遍的问题。需求是明确的:为了高效工作并产生高质量的部......
  • 基于kubernetes构建jenkins+gitlab持续集成
    @目录安装jenkins安装gitlabjenkins连接gitlab配置Jenkins连接maven配置cicd本案例使用docker-compose来安装部署Jenkins和gitlab节点IPmaster192.168.200.44......
  • 1、Kubeadm环境准备
    1.、k8s各节点组件说明1.1、master节点#主机硬件配置要求最低双核以上kube-apiserverkube-controller-managerkube-schedulerdockeretcd1.2、node节点kube-pro......
  • Kubernetes 集群介绍(一)
    部署方式变迁在服务部署上主要经历了三个历程:传统部署:互联网早期,会将服务直接部署到物理机上优点:简单,不需要其他技术的参与缺点:不能灵活定义资源使用边界,很难合理分配计算机......
  • k8s(Kubernetes)中yaml文件的各种 kind 类型
    k8syaml中文件内容一般有kind类型之分,每种类型有不同的功能(一般用---符号隔开)常见的kind类型1、EndpointsEndpoints可以把外部的链接到k8s系统中(可以理解为引用外部资......
  • 1. 初识Kubernetes
    WhatIsK8S狭义上讲,K8S是一个应用编排器。绝大部分情况下,它被用于 编排 容器化 的云原生微服务应用。具体的,它可以实现:自动化部署应用按需对应用进行扩容或缩容应......