ํ๋ธ ๋ฒ์ : 1.9.0
์ด ๋นํ ์ ํ์ธ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ, ์ด ๊ฒฝ๊ณ ๋ ๋ฌด์์ ์๋ฏธํฉ๋๊น?
์ค๋ฅ๊ฐ ์๋ ๊ฒฝ๊ณ ์ผ ๋ฟ์
๋๋ค. ๊ทธ๊ฒ ์์ด๋ ์ ์งํํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ฒฝ๊ณ ๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด https://github.com/kubernetes-incubator/cri-tools/tree/master/cmd/crictl ์ ์ค์นํ์ญ์์ค.
๊ฐ์ฌํฉ๋๋ค ๊ทธ๋ฆฌ๊ณ ์ข์ ํ๋ฃจ ๋์ธ์!
@luxas ๊ฐ์ฌํฉ๋๋ค!
"go get" ๋ฐฉ๋ฒ๊ณผ PATH์ ์ง์ ๋ฐฐ์นํ์ฌ ์ค์นํ์ต๋๋ค. ๊ฒฝ๊ณ ๊ฐ ๊ณ์ ๋์ค๊ณ ์์ต๋๋ค. ๋ชป์ฐพ๋ ์ด์ ๊ฐ ์๋์?
๊ฒฝ๊ณ ์ ์ด๋ ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
go get github.com/kubernetes-incubator/cri-tools/cmd/crictl
ํด๊ฒฐ
@์ถ์นด
kubeadm์ด ์ด cli ๋๊ตฌ๋ฅผ ์ํ๋ฉด ๊ฒฝ๊ณ ๊ฐ ์๋๋ผ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ์ค์นํด์ผ ํฉ๋๋ค. ๋๋ ๋งค์ฐ ๋๋ฌธ ์์์ ์ฌ์ฉ์๊ฐ crictl์ ๋ฏธ๋ฆฌ ์ค์นํ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค!!
๊ณต์ deb/rpm ํจํค์ง๋ก crictl
๋ฅผ ๋ฐฐ์กํฉ๋๊น?
@errordeveloper ์๋์ , ํ์ง๋ง ์ฐ๋ฆฌ๋ ํ ์ ์์ต๋๋ค.
๋ด๊ฐํด์ผ ํ ์ผ์ ๋ฐ๋ผ ๋ฌด์ธ๊ฐ๋ฅผ ํฌํจํด์ผํฉ๋๋ค.
kubeadm์ด ํ์๋ก ํ๋ ๋ค๋ฅธ ๊ฒ์ ๋น๋ํ ์ ์๋๋ก ์ด go ๋ฌผ๊ฑด์ ์ค์นํ์ญ์์ค:
๋ ์ค์น ์ด๋
๋ ๋ง์ ์ธํฐ๋ท ๊ฒ์ ์์ด๋ ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ผ๋ฏ๋ก ์ ๋ฐ์ดํธํ์ญ์์ค. ๋ฐ๋ผ์ ๋ฌผ๋ก ์ค์น๋ ๋ฒ์ ์ด ๋๋ฌด ์ค๋๋์์ต๋๋ค.
rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO
์ปฌ -s https://mirror.go-repo.io/centos/go-repo.repo | ํฐ /etc/yum.repos.d/go-repo.repo
vi /etc/yum.repos.d/go-repo.repo
"$releasever"๋ฅผ "7"๋ก, "$basearch"๋ฅผ "x86_64"๋ก ๋ฐ๊พธ์ญ์์ค. ์๋ํ๋ฉด ํด๋น ๋ณ์๋ ์กด์ฌํ์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ ์ ๋ฐ์ดํธ golang
๋ฌผ๊ฑด ๋ง๋ค๊ธฐ:
github.com/kubernetes-incubator/cri-tools/cmd/crictl์ ๋ฐ์ผ์ญ์์ค.
์ด์ kubeadm init๋ฅผ ์๋ํ๊ณ ๋ฌธ์ํ๋์ง ์์ ๋ค๋ฅธ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ์ญ์์ค.
๋ง์ฐฌ๊ฐ์ง๋ก Ubuntu 16.4 .. "go get ..." ์ฌ์ฉ์ ๋ํ ์ ์ฉํ ์ ์์ด ์์์ง๋ง
sudo apt-get golang-go ์ค์น
๊ทธ๋ฐ ๋ค์ go-get ๋ช ๋ น์ ์คํํ๊ณ GOPATH๊ฐ ์ค์ ๋์ง ์์๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์์ ํ์ง๋ง ์๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ถํํ์ต๋๋ค.
ํจํค์ง ์ปจํ ์คํธ: ์ธ์ํ ์ ์๋ ๊ฐ์ ธ์ค๊ธฐ ๊ฒฝ๋ก "context"(๊ฐ์ ธ์ค๊ธฐ ๊ฒฝ๋ก๊ฐ ํธ์คํธ ์ด๋ฆ์ผ๋ก ์์ํ์ง ์์)
apt-get์ ์ฌ์ฉํ์ฌ ์ค์นํ ์ ์๋ golang์ ์ต์ ๋ฒ์ ์ด 1.6์ด๊ณ ์ปจํ ์คํธ ์์ ์ด 1.7 ์ด์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฌ๊ธฐ ์ ์๋ ์น์ํ ์ง์นจ์ ์ฌ์ฉํ์ฌ ์์ ํ ์ ๊ฑฐ ๋ฐ ์ฌ์ค์น๊ฐ ํ์ํฉ๋๋ค. ํ๊ฒฝ ๋ณ์ ์ค์ ์ด ์๋ชป๋์์ง๋ง .. (ํ์จ) .. 1.7์ด ์ ๋ง ์ค๋๋์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ณ ์ฌ๊ธฐ ์์ ๊ณต์ ์ง์นจ์ผ๋ก ๋์๊ฐ๋๋ค .. ๊ทธ๋๋ wget์ด ์์ด์ ๊ธฐ์ฉ๋๋ค. ์ฒซ ๋ฒ์งธ ์ ์ฉํ ์์น์์ tarball์ ๋ค์ด๋ก๋ํ๊ธฐ ์ํ ์ง์นจ .. ๋ด๊ฐ ์์ ํ์ต๋๋ค.
wget https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz
๋ค๋ฅธ ์ฌ๋์ด ์ด๊ฒ์ ๊ฑธ๋ ค ๋์ด์ง๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ...
๋๋ ์ด๊ฒ์ด ๋ด๊ฐ ์ ์ํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฐ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. (๋ด๊ฐ ์กฐ๊ธ ์ง์ฆ์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค) .. ๊ทธ๋ฌ๋ ๋๋ ๊ทธ๊ฒ์ด ๋จ์ง ์คํ ๋ช ๋ น์ ์ถ๊ฐํ๋ ๊ฒ๋งํผ ๊ฐ๋จํ์ง ์๋ค๋ ๊ฒ์ ์ง์ ํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค.
github.com/kubernetes-incubator/cri-tools/cmd/crictl์ ๋ฐ์ผ์ญ์์ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค... ์ด๋ฐ ์ข ๋ฅ์ ๊ฒ๋ค์ ์๋ง๋ ์ต์ข ์ฌ์ฉ์์๊ฒ ํธ์๋์ด์๋ ์ ๋ฉ๋๋ค.
์ด ๊ฒฝ๊ณ ์ ํจ๊ป ๋ฌด์์ ๋ง๋ฌ๋์ง ์ ๊ณตํ์ญ์์ค.
kubeadm ๋ฒ์ : &version.Info{์ฃผ์:"1", ๋ถ:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335"::T09208aad78335", GitTreeState:"clean"2-0 BuildDate:"clean"2, 24Z", GoVersion:"go1.9.3", ์ปดํ์ผ๋ฌ:"gc", ํ๋ซํผ:"linux/amd64"}
--ignore-preflight-errors๋ ์ด ๊ฒฝ๊ณ ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ๋ค์ํ ํ์์ ์๋ํ์ต๋๋ค.
--ignore-preflight-errors="cri" ๋๋ --ignore-preflight-errors=cri ๋๋
--ignore-preflight-errors "cri" ๋๋ --ignore-preflight-errors cri
ํจํค์ง๋ฅผ ์ค์นํด๋ ์ด ๊ฒฝ๊ณ ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
github.com/kubernetes-incubator/cri-tools/cmd/crictl์ ๋ฐ์ผ์ญ์์ค.
$HOME/go/bin์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ค์นํ๊ณ $PATH์ ์ถ๊ฐํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ ์ฌ์ฉ์์ ๋ฃจํธ๋ก ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ค์นํ์ต๋๋ค(๊ทธ๋์ ๋ ํ ๋๋ ํ ๋ฆฌ์ ๋ํ๋จ).
์ฌ์ ํ kubeadm์ด ๊ฒฝ๊ณ ๋ฅผ ๋ณด๊ณ ํ๊ณ ์ฐพ์ ์ ์์ต๋๋ค.
@heyi-arm --ignore-preflight-errors
๋ ์ค๋ฅ ๋ฅผ ๊ฒฝ๊ณ ๋ก ๋ณํํ์ง๋ง ๊ฒฝ๊ณ ๋ ๊ณ์ ํ์๋ฉ๋๋ค.
Ansible์ ์ฌ์ฉํ์ฌ ๋ฉํฐ ๋ง์คํฐ ์ค์ ์ ํ๋ก๋น์ ๋ํ๋ ค๊ณ ํ ๋ ๋ฐฉ๊ธ ์ด ๋ฌธ์ ์ ๋ถ๋ช์ณค์ต๋๋ค.
TASK [ansible-k8s : join_cluster | Joining Additional Nodes To K8s Cluster] ******************************************************************************************************
fatal: [node1]: FAILED! => {"changed": true, "cmd": ["kubeadm", "join", "--token", "8gsm4e.uv0bve5j7ec2i0qk", "--discovery-token-unsafe-skip-ca-verification", "--ignore-preflight-errors", "192.168.250.10:6443"], "delta": "0:00:00.176311", "end": "2018-05-10 19:57:28.117885", "msg": "non-zero return code", "rc": 2, "start": "2018-05-10 19:57:27.941574", "stderr": "\t[WARNING FileExisting-crictl]: crictl not found in system path\nSuggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl\n[preflight] Some fatal errors occurred:\n\t[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists\n[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`", "stderr_lines": ["\t[WARNING FileExisting-crictl]: crictl not found in system path", "Suggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl", "[preflight] Some fatal errors occurred:", "\t[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists", "[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`"], "stdout": "[preflight] Running pre-flight checks.", "stdout_lines": ["[preflight] Running pre-flight checks."]}
fatal: [node2]: FAILED! => {"changed": true, "cmd": ["kubeadm", "join", "--token", "8gsm4e.uv0bve5j7ec2i0qk", "--discovery-token-unsafe-skip-ca-verification", "--ignore-preflight-errors", "192.168.250.10:6443"], "delta": "0:00:00.183138", "end": "2018-05-10 19:57:28.171885", "msg": "non-zero return code", "rc": 2, "start": "2018-05-10 19:57:27.988747", "stderr": "\t[WARNING FileExisting-crictl]: crictl not found in system path\nSuggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl\n[preflight] Some fatal errors occurred:\n\t[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists\n[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`", "stderr_lines": ["\t[WARNING FileExisting-crictl]: crictl not found in system path", "Suggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl", "[preflight] Some fatal errors occurred:", "\t[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists", "[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`"], "stdout": "[preflight] Running pre-flight checks.", "stdout_lines": ["[preflight] Running pre-flight checks."]}
@mrlesmithjr ๊ด๋ จ ์๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค: [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists
. ๊ฐ๋ฅํ ํ๋ ์ด๋ถ์ ํ์ธํ๊ณ ํ์ํ ๊ฒฝ์ฐ ์ธ๋ถ ์ ๋ณด๊ฐ ํฌํจ๋ ์ ๋ฌธ์ ๋ฅผ ์ฝ๋๋ค.
๋ง์คํฐ PKI ํด๋์์ ๋ณต์ฌํ ๊ณณ์ ๋๋ค. ์ฌ์ ํ ๋ชจ๋ ๊ฒ์ ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ์คํ ํ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ํ๋ฅญํ ํผ๋๋ฐฑ์ ๋๋ค. sig-cluster-lifecycle์์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ์ด๊ฒ์ ์ต์ํ ์ ๋์ ์ผ๋ก ๋ฌด์ํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ kubeadm์ด ์์กดํ๋ ๊ฒฝ์ฐ .deb ๋ฐฐํฌ๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ทธ๊ฒ์ ๋จ์ง ์ผ๋ถ ์ ํ์ ์ ํธ๋ฆฌํฐ์ผ ๋ฟ์ ๋๋ค. ์ฌ์ ํ ํจํค์ง๋์ด์ผ ํฉ๋๋ค.
์ด๊ฒ์ด ์ค์น์ ํ์ํ ๊ฒฝ์ฐ ํจํค์ง์ ํจ๊ป ๋ฐฐ์ก๋์ด์ผ ํฉ๋๋ค. Go ๋น๋ ๋๊ตฌ๋ ํ๋ก๋์ ์ปจํ ์ด๋ ํธ์คํธ์ ์ํ์ง ์์ต๋๋ค.
์ ์๊ฐ์๋ ์ฌ์ฉ์๊ฐ ๋์ปค ๋์ CRI๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ ค๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ํ์ํ์ง ์์ต๋๋ค. ์๋ก์ด ๋ช ๋ น์ค ์ต์ (--use-cri ?)์ ๋์ ํ์ฌ ๋ช ์์ ์ผ๋ก ์ํํ๊ฑฐ๋ ์ฌ์ฉ์๊ฐ --cri-socket ์ต์ ์ ์ฌ์ฉํ์ฌ CRI ์์ผ์ ์ง์ ํ ๋ ์ด PR ์์ ์์์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค.
@luxas ๋ ์ด๊ฒ์ด ์ค๋ฅ๋ก ๋ํ๋ฉ๋๋ค. ๋ฒ๊ทธ์ธ๊ฐ์? ๊ทธ๋ ๋ค๋ฉด ์ ์ํ๊ฒ ์์ ํด์ผ ํฉ๋๋ค. ์์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ ์ผ๋ถ ๊ตฌ์ฑ์์๋ crictl์ ์ค์นํ๋ ๊ฒ์ด ์ฝ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค(๊ทธ๋ฆฌ๊ณ ํ๋ก๋์ ํธ์คํธ์์ go build ๋๊ตฌ๊ฐ ํ์ํจ).
์ด PR ๋ก ๊ณ ์ณ์ผ ํ ๊ฒ ๊ฐ์์.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
kubeadm์ด ์ด cli ๋๊ตฌ๋ฅผ ์ํ๋ฉด ๊ฒฝ๊ณ ๊ฐ ์๋๋ผ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ์ค์นํด์ผ ํฉ๋๋ค. ๋๋ ๋งค์ฐ ๋๋ฌธ ์์์ ์ฌ์ฉ์๊ฐ crictl์ ๋ฏธ๋ฆฌ ์ค์นํ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค!!