k3sup을 사용하여 k3s 설치
이 보도는 개인의 견해로 필자가 속한 어떤 단체와도 관계가 없다.
시작
k3s의 설치가 좀 힘들기 때문에 k3sup이라는 도구에 의존해 보세요.
나는 k3s에 관한 일을 설명하지 않는다.
k3s에 관해서는 아래 사이트를 참조하십시오.
K3s: Lightweight Kubernetes
https://k3s.io/
일본어 수첩을 무료로 발급하다.
일본판 k3s 매뉴얼 다운로드 | 주식회사 스타일스
https://www.stylez.co.jp/rancher-k3s-pdf/
1.k3sup이 뭐예요?
k3s 설치 도구입니다.
k3s를 설치한 서버에 SSH를 실행할 수 있는 환경이라면 k3sup 명령을 사용하여 설정할 수 있습니다.설치를 위한 명령입니다.
듣자니 독법이 케첩이라고 한다.
2.k3sup 설치
k3sup을 설치할 때 다음 명령을 사용하여 설치를 완료합니다.
이 명령은 k3s와 무관한 외부 서버에 넣는 데 문제가 없습니다.
(Windows용 CLI 버전도 있음)
curl -sLS https://get.k3sup.dev | sh
sudo install k3sup /usr/local/bin/
k3sup --help
이 설명의 객체 버전:
bash
$ k3sup version
Version: 0.11.0
Git Commit: fd9dfeaa6cd32f0d048f33705a04c14ca4aa3550
3. k3sup3-1. k3s 설치 옵션
설치 옵션은 크게 두 가지 옵션으로 나뉜다.
설치 옵션
설명
k3sup install
서버 설치 옵션
k3sup join
기존 서버 에이전트를 설치하거나 추가하는 옵션
기타 옵션
설치 옵션
설명
k3s app
YAML 및 helm 차트에서 응용 프로그램 설치
3-1-1. k3s 서버 설치 옵션
k3sup install <オプション>
설치 옵션설명
--cluster
dqlite를 이용하여 집합을 형성할 때 사용
--context string
kubeconfig 파일의 컨텍스트 이름 지정(기본값: "default")
--datastore string
옵션: HA 구성에서 k3s 데이터베이스에 연결된 연결 문자열.예: "mysql://username:password@tcp(hostname:3306)/database-name"
--ip ip
설치할 노드의 IP 주소(기본 127..0.1)
--ipsec
flannel-backend의 백엔드 옵션은 ipsec에서 추가 인자를 강제로 사용하거나 사용합니다
--k3s-channel string
발표 채널 지정 옵션:stable,latest, 기타 예시 v1.18(기본 "v1.18")
--k3s-extra-args string
k3s가 설치기에 전달하는 과도한 선택 가능한 매개 변수 (예: -k3s-extra-args' -no-deploy 서비스 lb ')
--k3s-version string
옵션: 설치 버전 지정(k3s-Channel 덮어쓰기)
--local
SSH를 사용하지 않고 로컬 설치
--local-path string
kubeconfig 파일을 로컬로 저장하는 파일 경로(기본 "kubeconfig")
--merge
만약kubeconfig가 기존kubeconfig에 합쳐져 다른 디렉터리에 존재한다면local-path 로고에merge를 지정하십시오
--no-extras
서비스 lb 및 traefik 비활성화
--print-command
오류가 발생했을 때 SSH를 사용하여 수동으로 복구하기 위한 명령 출력
--skip-install
설치 프로그램 건너뛰기
--ssh-key string
원격 로그인에 사용할 SSH 키(기본값~/.ssh/id rsa)
--ssh-port int
SSH 연결 시 포트 번호(기본 22)
--sudo
설치할 때 sudo 사용하기 (예: 루트를 사용할 때 sudo를 사용하지 않을 때 가짜로 설정) (기본 진짜)
--tls-san string
옵션:지정되지 않은 경우 기본 서버 IP
--user string
SSH 로그인 사용자 이름(기본 "root")
3-1-2. 프록시 설치 옵션
k3sup join <オプション>
설치 옵션설명
--ip ip
프록시 설치 노드의 공개 IP
--k3s-channel string
발표 채널 지정 옵션: stable,latest, 기타 예시: v1.18 (default "v1.18")
--k3s-extra-args string
k3s가 설치기에 전달하는 쿼트의 선택적 인자 (e.g. - k3s-extra-args "- node-taint key=value: NoExecute")
--k3s-version string
옵션: 설치 버전 지정(k3s-Channel 덮어쓰기)
--print-command
오류가 발생했을 때 SSH를 사용하여 수동으로 복구하기 위한 명령 출력
--server
에이전트가 아니라 서버로 그룹에 가입합니다
--server-ip ip
기존 k3s 서버의 공개 주소
--server-ssh-port int
SSH에 연결된 서버에 SSH를 연결하는 포트 번호(기본값은 -Sh-port)(기본값 22)
--server-user string
서버에서 SSH에 로그인할 때 사용자 이름(기본값은 -user와 동일)(default "root")
--skip-install
설치 프로그램 건너뛰기
--ssh-key string
원격 로그인에 사용할 SSH 키(기본값~/.ssh/id rsa)
--ssh-port int
SSH 연결 시 포트 번호(기본 22)
--sudo
설치할 때 sudo 사용하기 (예: 루트를 사용할 때 sudo를 사용하지 않을 때 가짜로 설정) (기본 진짜)
--user string
SSH 로그인 사용자 이름(기본 "root")
4.k3s 사전 준비
다음과 같은 사전 준비를 한다.
sudo apt install postgresql
export DATABASE_NAME="k3s_database"
export K3S_DB_USER="k3s_admin"
export K3S_DB_PASSWORD="k3s_admin_foobaa"
echo 'export K3S_DB_USER="k3s_admin"'
echo 'export K3S_DB_PASSWORD="k3s_admin_foobaa"'
# Create User for DATABASE (one time)
sudo -i -u postgres psql -c "CREATE USER ${K3S_DB_USER} WITH password '${K3S_DB_PASSWORD}';"
# Create DATABSE
sudo -i -u postgres psql -c "CREATE DATABASE ${DATABASE_NAME};"
sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE ${DATABASE_NAME} TO ${K3S_DB_USER};"
DB 쪽에서 외부 연결 허용해주세요.sudo vi /etc/postgresql/12/main/postgresql.conf
/etc/postgresql/12/main/postgresql.conf- #listen_addresses = 'localhost' # what IP address(es) to listen on;
+ listen_addresses = '*' # what IP address(es) to listen on;
DB에 연결된 IP 주소를 추가하십시오.sudo vi /etc/postgresql/12/main/pg_hba.conf
/etc/postgresql/12/main/pg_hba.conf+ host all all 0.0.0.0/0 md5
추기 후 재부팅됩니다.sudo systemctl restart postgresql
4-2. SSH의 개인 키 복사multipass로 가상 기기를 시작합니다. 일반적인 경우
multipass launch
공공 키 (/home/ubant/.ssh/authhorized keys) 는 기본 SSH 키로 인증하기 위해 가상 기기 옆에 들어갑니다.SSH 키 인증을 사용하여 로그인합니다.SSH 키는 아래에 있지만 루트 권한으로만 읽을 수 있기 때문에
~/.ssh/multpass-ssh-key_id_rsa
같은 곳으로 복사됩니다sudo cp /var/snap/multipass/common/data/multipass/ssh-keys/id_rsa ~/.ssh/multipass-ssh-key_id_rsa
4-3. multipass로 가상 머신 준비multipass launch 18.04 --name "k3s-main" -c 2 -m 4g -d 20g --cloud-init ./cloud-init_k3s.yaml
multipass launch 18.04 --name "k3s-agent" -c 2 -m 4g -d 20g --cloud-init ./cloud-init_k3s.yaml
cloud-init 파일은 다음과 같은 내용을 준비하십시오cloud-init_k3s.yaml
#cloud-config
timezone: Asia/Tokyo
package_upgrade: true
package_reboot_if_required: true
가상 머신이 시작되면 해당 IP 주소를 기록합니다.export IP_k3s_main=xx.xx.xx.xx
export IP_k3s_agent=yy.yy.yy.yy
5. k3s 서버 설치export Postgres_IP_Address=zz.zz.zz.zz
k3sup install \
--ip $IP_k3s_main \
--user ubuntu \
--ssh-key ~/.ssh/multipass-ssh-key_id_rsa \
--datastore="postgres://${K3S_DB_USER}:${K3S_DB_PASSWORD}@${Postgres_IP_Address}:5432/${DATABASE_NAME}"
k3s 에이전트 설치k3sup join \
--ip $IP_k3s_agent \
--server-ip $IP_k3s-main \
--user ubuntu \
--ssh-key ~/.ssh/multipass-ssh-key_id_rsa \
7. K3s가 시작되었는지 확인시작 후 로컬에서kubeconfig 파일을 생성하여 get node를 진행할 수 있습니다.
kubectl --kubeconfig=./kubeconfig get no
이렇게 표시하면 됩니다.NAME STATUS ROLES AGE VERSION
k3-main Ready master 22m v1.19.11+k3s1
k3-agent Ready <none> 3m49s v1.19.11+k3s1
8. 총결산편리한 시대에 이르러 멀티파스와 k3s를 조합하여 Kubernetes를 간단하게 구축할 수 있다.
필요에 따라 설치remote.it하면 외부 접근도 간단해진다.
multippass와remote.it(remot3.it)로 가상 기기의 네트워크를 편안하게 하다
https://qiita.com/ynott/items/649e653ed2aeadf812ae
k3d가 가벼워졌기 때문에 개발자에게 이걸 추천합니다.
9. 참조
Reference
이 문제에 관하여(k3sup을 사용하여 k3s 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ynott/items/25df249040ceb7430c3f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)